المشاركات : 81
المواضيع 23
الإنتساب : Jul 2014
السمعة :
4
الشكر: 13
تم شكره 47 مرات في 15 مشاركات
28-06-20, 10:29 PM
(آخر تعديل لهذه المشاركة : 30-06-20, 10:36 AM {2} بواسطة المهنا.)
السلام عليكم
عندي PictureBox1 يقوم بحفظ صورة الكتاب عن طريق اختيار المستخدم بمربع حوار
المطلوب في حالة عدم توفر صورة للمستخدم يقوم البرنامج اليا بحفظ الصورة المحملة في [b][b][b]PictureBox2[/b][/b][/b]
[b][b][b]المطلوب كود يحفظالصورة الموجودة في [b][b][b]PictureBox2 بدون مربع حوار في قاعدة البيانات[/b][/b][/b][/b][/b][/b]
المشاركات : 81
المواضيع 23
الإنتساب : Jul 2014
السمعة :
4
الشكر: 13
تم شكره 47 مرات في 15 مشاركات
30-06-20, 11:42 AM
(آخر تعديل لهذه المشاركة : 30-06-20, 11:42 AM {2} بواسطة المهنا.)
تعديل كود حفظ الصورة من 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