منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
هل هذا السؤال صعب PictureBox1 - نسخة قابلة للطباعة

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



هل هذا السؤال صعب PictureBox1 - المهنا - 28-06-20

السلام عليكم 



عندي PictureBox1  يقوم بحفظ صورة الكتاب عن طريق اختيار المستخدم بمربع حوار 



المطلوب في حالة عدم توفر صورة للمستخدم يقوم البرنامج اليا بحفظ الصورة المحملة في [b][b][b]PictureBox2[/b][/b][/b]

[b][b][b]المطلوب كود يحفظالصورة الموجودة في [b][b][b]PictureBox2 بدون مربع حوار في قاعدة البيانات[/b][/b][/b][/b][/b][/b]


RE: هل هذا السؤال صعب PictureBox1 - المهنا - 30-06-20

تعديل كود حفظ الصورة من PictureBox1

If DataSet1.Tables("Tab").Rows.Count = 0 Then

MsgBox("الجدول فارغ من السجلات", 16 + 524288, "تنبيه")

Exit Sub

End If



Try


If PictureBox1.Image IsNot Nothing Then

If MsgBox(" هل تريد استبدال صورة الحالية رقم " & Label1.Text & " ؟ ", MsgBoxStyle.Exclamation + MsgBoxStyle.MsgBoxRight + MsgBoxStyle.OkCancel, "استبدال صورة") = MsgBoxResult.Cancel Then Exit Sub

End If



Application.DoEvents()


Dim f As New OpenFileDialog


f.Filter = "Files(*.jpg)|*.jpg|Files(*.gif)|*.gif|Files(*.bmp)|*.bmp|Files(*.png)|*.png"
f.Title = "ادراج صورة"
f.FileName = ""



If f.ShowDialog() = Windows.Forms.DialogResult.OK Then



'ادارج الصورة وتغيير ابعادها وحجمها وامتدادها وحفظها في الميموري ثم استدعاؤها من الميموري وحفظها في قاعدة البيانات
'السبب في حفظ الصورة اولا في الميموري ثم حفظها في قاعدة البيانات هو
'لما تدرج صورة بالحالة العادية وتغير ابعادها وبدك تحفظها ما تقدر تتحكم في الصورة الاصلية لحتى تغلق البرنامج لانها بتظل معلقه
' يعني ممكن بدك تمسح الصورة الاصلية وهيك ما بتقدر اما بهذه الطريقة فيك تتحكم في الصورة الاصلية والبرنامج مفتوح

Dim imgByteArray() As Byte

Dim Stream As New MemoryStream()

Dim uploadedImage As New Bitmap(f.FileName)

Dim newSize As New Size(200, 250)

Dim newBitmap As New Bitmap(uploadedImage, newSize)

newBitmap.Save(Stream, System.Drawing.Imaging.ImageFormat.Jpeg)

imgByteArray = Stream.ToArray()


Application.DoEvents()


'كود حفظ الصورة

'كود معرفة رقم الصف الحالي في قاعدة البيانات
Dim Row_Num As Integer = Me.BindingContext(DataSet1, "Tab").Position

DataSet1.Tables("Tab").Rows(Row_Num).BeginEdit()

DataSet1.Tables("Tab").Rows(Row_Num).Item("pic") = imgByteArray

DataSet1.Tables("Tab").Rows(Row_Num).EndEdit()

Stream.Close()


'كود حفظ
Validate()
DataAdapter.Update(DataSet1.Tables("Tab"))
DataSet1.AcceptChanges()


f.Dispose()


LoadPhoto()

MsgBox("تم حفظ الصورة نجاح", MsgBoxStyle.MsgBoxRight + MsgBoxStyle.Information, "نجاح ")

End If


Catch ex As Exception

MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try