منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : نظام الالوان العالمى RGB
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
عندى PictureBox1 عند اختيار لون من شاشة الالوان يت ادراجه الى PictureBox1 ولكن عند الحفظ يعطى خطا فالمطلوب حفظ PictureBox1 على انها صورة تحتوى على اللون الذى تم اختياره ولكنها لا تحفظ لان البرنامج يرى انه لايوجد صورة لحفظا فما الحل
ارفقت الاكواد وكود الحفظ
[attachment=28264]


كود :
       Using Image As System.Drawing.Image = New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height)
           Me.PictureBox1.DrawToBitmap(Image, Me.PictureBox1.ClientRectangle)
           Image.Save(IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.Desktop, "NewImageTest.jpg"))
       End Using
(03-10-22, 06:43 PM)عبدالله الدوسري كتب : [ -> ]
كود :
       Using Image As System.Drawing.Image = New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height)
           Me.PictureBox1.DrawToBitmap(Image, Me.PictureBox1.ClientRectangle)
           Image.Save(IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.Desktop, "NewImageTest.jpg"))
       End Using

اشكرك اخى العزيز ولكن كيف اضيف الصورة الى قاعدة بيانات sql server

(03-10-22, 06:43 PM)عبدالله الدوسري كتب : [ -> ]
كود :
       Using Image As System.Drawing.Image = New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height)
           Me.PictureBox1.DrawToBitmap(Image, Me.PictureBox1.ClientRectangle)
           Image.Save(IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.Desktop, "NewImageTest.jpg"))
       End Using

لقد ارفقت كود الحفظ لدى كيف يمكننى التعديل عليه
[attachment=28268]




كود :
   Public Sub Insert_clore_(ByVal id As Int32, ByVal nam_ As String, ByVal col_ As PictureBox)
       Try
           If (Con.State And System.Data.ConnectionState.Broken = System.Data.ConnectionState.Broken) Then
               Con.Close()
           End If
           If (Con.State = Global.System.Data.ConnectionState.Closed) Then
               Con.Open
           End If
           Using Cmd As New System.Data.SqlClient.SqlCommand
               With Cmd
                   .Connection = Con
                   .CommandType = CommandType.Text
                   .CommandText = "Insert Into clore_ ( id,nam_,col_)values(@id,@nam_,@col_)"
                   .Parameters.Clear()
                   .Parameters.AddWithValue("@id", SqlDbType.Int).Value = id
                   .Parameters.AddWithValue("@nam_", SqlDbType.VarChar).Value = nam_
                   Dim p As New System.Data.SqlClient.SqlParameter("@col_", SqlDbType.Image)
                   Using MS As New System.IO.MemoryStream()
                       Using bmpImage As System.Drawing.Image = New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height)
                           Me.PictureBox1.DrawToBitmap(bmpImage, Me.PictureBox1.ClientRectangle)
                           bmpImage.Save(MS, System.Drawing.Imaging.ImageFormat.Jpeg)
                           p.Value = MS.GetBuffer()
                       End Using
                       .Parameters.Add(p)
                       If .ExecuteNonQuery() > 0 Then
                           MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.Information, "حفظ")
                       Else
                           MsgBox("لم يتم إضافة السجل لسبب غير معروف", MsgBoxStyle.Information, "حفظ")
                       End If
                   End Using
               End With
           End Using
       Catch ex As Exception
           MsgBox(ex.Message)
       Finally
           Con.Close()
       End Try
   End Sub
بارك الله فيك الكود اشتغل عاجز عن الشكر
عبدالله الدوسري انت نعمه لا تقدر بثمن بوركت .
(03-10-22, 08:54 PM)عبدالله الدوسري كتب : [ -> ]
كود :
   Public Sub Insert_clore_(ByVal id As Int32, ByVal nam_ As String, ByVal col_ As PictureBox)
       Try
           If (Con.State And System.Data.ConnectionState.Broken = System.Data.ConnectionState.Broken) Then
               Con.Close()
           End If
           If (Con.State = Global.System.Data.ConnectionState.Closed) Then
               Con.Open
           End If
           Using Cmd As New System.Data.SqlClient.SqlCommand
               With Cmd
                   .Connection = Con
                   .CommandType = CommandType.Text
                   .CommandText = "Insert Into clore_ ( id,nam_,col_)values(@id,@nam_,@col_)"
                   .Parameters.Clear()
                   .Parameters.AddWithValue("@id", SqlDbType.Int).Value = id
                   .Parameters.AddWithValue("@nam_", SqlDbType.VarChar).Value = nam_
                   Dim p As New System.Data.SqlClient.SqlParameter("@col_", SqlDbType.Image)
                   Using MS As New System.IO.MemoryStream()
                       Using bmpImage As System.Drawing.Image = New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height)
                           Me.PictureBox1.DrawToBitmap(bmpImage, Me.PictureBox1.ClientRectangle)
                           bmpImage.Save(MS, System.Drawing.Imaging.ImageFormat.Jpeg)
                           p.Value = MS.GetBuffer()
                       End Using
                       .Parameters.Add(p)
                       If .ExecuteNonQuery() > 0 Then
                           MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.Information, "حفظ")
                       Else
                           MsgBox("لم يتم إضافة السجل لسبب غير معروف", MsgBoxStyle.Information, "حفظ")
                       End If
                   End Using
               End With
           End Using
       Catch ex As Exception
           MsgBox(ex.Message)
       Finally
           Con.Close()
       End Try
   End Sub

السلام عليكم لقد قمت بارفاق كود للرسم على picturbox ونجحت فى ذلك ولكن عند الحفظ استخدمت نفس الكود السابق يحفظ ولكن صورة فارغة ما الحل
انت ترسم على على سطح الكنترول فقط , وليس على الصورة الموجودة في الكنترول

يجب أن ترسم على الصورة بواسطة الكائن Graphics 
Graphics.FromImage(Img)


كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       'width10_ = Val(width_.Text)
       Dim Img As Bitmap = New Bitmap(NumericUpDown1.Value, NumericUpDown2.Value)
       Using g As Graphics = Graphics.FromImage(Img)
           g.DrawRectangle(Pens.Blue, 50, 50, 200, 200)
           '*****************************************************************************************
           g.DrawRectangle(Pens.Blue, 60, 60, 80, 80)
           'رسم خط مائل
           g.DrawLine(Pens.Blue, 50, 50, 60, 60)
           'رسم البعد الراسى
           g.DrawLine(Pens.Red, 40, 50, 40, 90)
           g.DrawLine(Pens.Red, 40, 110, 40, 150)
           'رسم راس  السهم العلوى
           g.DrawLine(Pens.Red, 40, 50, 35, 60)
           g.DrawLine(Pens.Red, 40, 50, 45, 60)
           'رسم راس السهم السفلى
           g.DrawLine(Pens.Red, 40, 150, 35, 140)
           g.DrawLine(Pens.Red, 40, 150, 45, 140)
           'رسم البعد الافقى
           g.DrawLine(Pens.Red, 50, 160, 90, 160)
           g.DrawLine(Pens.Red, 110, 160, 150, 160)
           'رسم راس السهم
           g.DrawLine(Pens.Red, 50, 160, 60, 155)
           g.DrawLine(Pens.Red, 50, 160, 60, 165)
           g.DrawLine(Pens.Red, 150, 160, 145, 155)
           g.DrawLine(Pens.Red, 150, 160, 145, 165)
           'PictureBox1.CreateGraphics().DrawPie(Pens.Blue, 160, 160, 100, 100, 180, 180)
           Dim str As String = width_.Text
           Dim fnt As New Font("Times New Roman", 10, FontStyle.Regular)
           Dim pnt As New Point(87, 152)
           g.DrawString(str, fnt, Brushes.Red, pnt)
           Dim str2 As String = hight_.Text
           Dim fnt2 As New Font("Times New Roman", 10, FontStyle.Regular)
           Dim pnt2 As New Point(25, 95)
           g.DrawString(str2, fnt2, Brushes.Red, pnt2)
           g.FillRectangle(Brushes.Red, 50, 50, 100, 100)
           g.FillRectangle(Brushes.White, 60, 60, 80, 80)
       End Using
       Me.PictureBox1.Image = Img
   End Sub
(14-10-22, 09:09 PM)عبدالله الدوسري كتب : [ -> ]انت ترسم على على سطح الكنترول فقط , وليس على الصورة الموجودة في الكنترول

يجب أن ترسم على الصورة بواسطة الكائن Graphics 
Graphics.FromImage(Img)


كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       'width10_ = Val(width_.Text)
       Dim Img As Bitmap = New Bitmap(NumericUpDown1.Value, NumericUpDown2.Value)
       Using g As Graphics = Graphics.FromImage(Img)
           g.DrawRectangle(Pens.Blue, 50, 50, 200, 200)
           '*****************************************************************************************
           g.DrawRectangle(Pens.Blue, 60, 60, 80, 80)
           'رسم خط مائل
           g.DrawLine(Pens.Blue, 50, 50, 60, 60)
           'رسم البعد الراسى
           g.DrawLine(Pens.Red, 40, 50, 40, 90)
           g.DrawLine(Pens.Red, 40, 110, 40, 150)
           'رسم راس  السهم العلوى
           g.DrawLine(Pens.Red, 40, 50, 35, 60)
           g.DrawLine(Pens.Red, 40, 50, 45, 60)
           'رسم راس السهم السفلى
           g.DrawLine(Pens.Red, 40, 150, 35, 140)
           g.DrawLine(Pens.Red, 40, 150, 45, 140)
           'رسم البعد الافقى
           g.DrawLine(Pens.Red, 50, 160, 90, 160)
           g.DrawLine(Pens.Red, 110, 160, 150, 160)
           'رسم راس السهم
           g.DrawLine(Pens.Red, 50, 160, 60, 155)
           g.DrawLine(Pens.Red, 50, 160, 60, 165)
           g.DrawLine(Pens.Red, 150, 160, 145, 155)
           g.DrawLine(Pens.Red, 150, 160, 145, 165)
           'PictureBox1.CreateGraphics().DrawPie(Pens.Blue, 160, 160, 100, 100, 180, 180)
           Dim str As String = width_.Text
           Dim fnt As New Font("Times New Roman", 10, FontStyle.Regular)
           Dim pnt As New Point(87, 152)
           g.DrawString(str, fnt, Brushes.Red, pnt)
           Dim str2 As String = hight_.Text
           Dim fnt2 As New Font("Times New Roman", 10, FontStyle.Regular)
           Dim pnt2 As New Point(25, 95)
           g.DrawString(str2, fnt2, Brushes.Red, pnt2)
           g.FillRectangle(Brushes.Red, 50, 50, 100, 100)
           g.FillRectangle(Brushes.White, 60, 60, 80, 80)
       End Using
       Me.PictureBox1.Image = Img
   End Sub
اشكرك على المعلومة الكود اشتغل والحمد لله لو فى كتب تشرح الجراف اكون شاكر