منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] نظام الالوان العالمى RGB - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] نظام الالوان العالمى RGB (/showthread.php?tid=42603)



نظام الالوان العالمى RGB - Lathe1 - 03-10-22

عندى PictureBox1 عند اختيار لون من شاشة الالوان يت ادراجه الى PictureBox1 ولكن عند الحفظ يعطى خطا فالمطلوب حفظ PictureBox1 على انها صورة تحتوى على اللون الذى تم اختياره ولكنها لا تحفظ لان البرنامج يرى انه لايوجد صورة لحفظا فما الحل
ارفقت الاكواد وكود الحفظ


RE: نظام الالوان العالمى RGB - عبدالله الدوسري - 03-10-22

[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



RE: نظام الالوان العالمى RGB - Lathe1 - 03-10-22

(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

لقد ارفقت كود الحفظ لدى كيف يمكننى التعديل عليه


RE: نظام الالوان العالمى RGB - عبدالله الدوسري - 03-10-22

[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



RE: نظام الالوان العالمى RGB - Lathe1 - 03-10-22

بارك الله فيك الكود اشتغل عاجز عن الشكر


RE: نظام الالوان العالمى RGB - رضوان الجماعي - 04-10-22

عبدالله الدوسري انت نعمه لا تقدر بثمن بوركت .


RE: نظام الالوان العالمى RGB - Lathe1 - 14-10-22

(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 ونجحت فى ذلك ولكن عند الحفظ استخدمت نفس الكود السابق يحفظ ولكن صورة فارغة ما الحل


RE: نظام الالوان العالمى RGB - عبدالله الدوسري - 14-10-22

انت ترسم على على سطح الكنترول فقط , وليس على الصورة الموجودة في الكنترول

يجب أن ترسم على الصورة بواسطة الكائن 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



RE: نظام الالوان العالمى RGB - Lathe1 - 15-10-22

(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
اشكرك على المعلومة الكود اشتغل والحمد لله لو فى كتب تشرح الجراف اكون شاكر