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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (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] كيفية عرض الصور من قاعدة البيانات على picturebox (/showthread.php?tid=30168)



كيفية عرض الصور من قاعدة البيانات على picturebox - الرائد - 06-07-19

السلام عليكم 
لدي مشكلة في شأن اظهار الصور من قاعدة البيانات اثناء عملية العرض


استخدم access كقاعدة بيانات وبرنامج فيجوال بيسك 2010
حيث أقوم بحفظ البيانات في القاعدة , اعيد عرضها من DataGridView1 عبر الانتقال بين الاسطر 
, لكن الصورة التي تم حفظها مع البيانات لاتظهر في picturebox رغم ظهور جميع البيانات الاخرى في مكانها.
الان ما اريد هو كيفية جعل الصورة المحفوظة والتي يظهر رابطها في قاعدة البيانات , تظهر في اطار الصورة  picturebox1


RE: كيفية عرض الصور من قاعدة البيانات على picturebox - ابراهيم ايبو - 06-07-19

السلام عليكم اخي الكريم
اذا كنت قد خزنت مسار الصورة واسمها في الجدول  فستقوم بعرض الحقول كالمعتاد
 وحقل الصورة يكون هكذا اليك الكود
كود :
 Private Sub DataGridView1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
       Try
           If DataGridView1.CurrentRow IsNot Nothing Then
               'عرض الحقول
               Txt_Id.text = DataGridView1.CurrentRow.Cells(0).Value
               Txt_Name.text = DataGridView1.CurrentRow.Cells(1).Value
               ' وهكذا بقية الحقول حتى تنتهي الى حقل الصورة ويكون على النحو التالي
               PictureBox1.Image = Image.FromFile("Path\ PicName.jpg")
           End If
       Catch ex As Exception

       End Try
   End Sub



RE: كيفية عرض الصور من قاعدة البيانات على picturebox - elgokr - 06-07-19

وعليكم السلام ورحمة الله وبركاته

يمكنك مراجعة هذا الموضوع
http://vb4arb.com/vb/showthread.php?tid=28905

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

تحياتى لك
وتمنياتى لك التوفيق



RE: كيفية عرض الصور من قاعدة البيانات على picturebox - الرائد - 06-07-19

[/quote]

كود :
 Private Sub DataGridView1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
        Try
            OpenFileDialog1.Filter = "Images files (*.jpeg; *.jpg;*.tif;*.wmp;*.png;*.gif)|*.JPG|All files (*.*)|*.*"
            If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
                Dim imgpath As String = OpenFileDialog1.FileName
                Dim imgname As String = System.IO.Path.GetFileName(imgpath)
                Dim newpath As String = Application.StartupPath & "\PIC_ARTICLE\" & imgname
                PictureBox1.Load(imgpath)
                PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
                My.Computer.FileSystem.CopyFile(imgpath, newpath)
            End If

        Catch ex As Exception

        End Try
   End Sub
هذه هي الكيفية التي قمت بتخزين الصورة عليها
المثال ال
ذي حددت اعلاه , لم يكن يحدد اي cells وهذا لن يجهل البرنامج يتعرف من اين سيأخذ الصورة

كود :
 Private Sub DataGridView1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
       Try
           OpenFileDialog1.Filter = "Images files (*.jpeg; *.jpg;*.tif;*.wmp;*.png;*.gif)|*.JPG|All files (*.*)|*.*"
           If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
               Dim imgpath As String = OpenFileDialog1.FileName
               Dim imgname As String = System.IO.Path.GetFileName(imgpath)
               Dim newpath As String = Application.StartupPath & "\PIC_ARTICLE\" & imgname
               PictureBox1.Load(imgpath)
               PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
               My.Computer.FileSystem.CopyFile(imgpath, newpath)
           End If

       Catch ex As Exception

       End Try
   End Sub
هذه هي الكيفية التي قمت بتخزين الصورة عليها
المثال ال
ذي حددت اعلاه , لم يكن يحدد اي cells وهذا لن يجهل البرنامج يتعرف من اين سيأخذ الصورة
[/quote]

------------- ماذا أفعل في حالة ان اردت حفظ مجموعة من الصور وعرضها في قاعدة البيانات Blush


RE: كيفية عرض الصور من قاعدة البيانات على picturebox - ابراهيم ايبو - 06-07-19

السلام عليكم اخي الكريم
اولا الحدث DataGridView1_SelectionChanged الذي وضعته هو عند تغيير الاختيار في الداتا غرايد ولا علاقة له بفتح الصورة او نسخها او تخزينها
من المفترض اختيار الصورة في Button مستقل وفي حذث الحفظ يتم حفظ مسار الصورة وتسميتها وفق Txt_Id مثلا
وفي حدذ تغيير الاختيار DataGridView1_SelectionChanged نفذ الكود الذي وضعته لك فقط قم بتغيير سطر الصورة ليكون

كود :
PictureBox1.Image = Image.FromFile("image\" & Txt_id.Text & ".jpg") ' على اعتيار ان اسم الصورة هو رقم الايدي

انا حاليا في العمل والا لكنت عملت لك مثال



RE: كيفية عرض الصور من قاعدة البيانات على picturebox - الرائد - 06-07-19

يبدوا ان مشكلتي لربما هي المسار الذي يتم حفظ بشكل خاطئ
حيث أنني أريد من الكود أخذ صورة من مكان الصورة ونسخها الى مكان محدد , ومن ثم يأخذ المسار الجديد
لربما هناك خطأ فعلا في هذا الكود لانني جربت جميع الحلول لكن دون جدوى
[code]
Private Sub DataGridView1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
Try
OpenFileDialog1.Filter = "Images files (*.jpeg; *.jpg;*.tif;*.wmp;*.png;*.gif)|*.JPG|All files (*.*)|*.*"
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim imgpath As String = OpenFileDialog1.FileName
Dim imgname As String = System.IO.Path.GetFileName(imgpath)
Dim newpath As String = Application.StartupPath & "\PIC_ARTICLE\" & imgname
PictureBox1.Load(imgpath)
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
My.Computer.FileSystem.CopyFile(imgpath, newpath)
End If

Catch ex As Exception

End Try
End Sub
[code/]


RE: كيفية عرض الصور من قاعدة البيانات على picturebox - ابراهيم ايبو - 06-07-19

السلام عليكم اخي رائد
تفضل هذا مثال يقوم بحفظ الصورة في مجلد مستقل بعد اختيارها من اي مكان ويضع لها اسم يكون رقم الاي دي للسجل
ويتحقق من وجود صورة ان كانت تحمل نفس الاسم ويمكن حذف السجل وتحذف الصورة معه ايضا 
اتمنى ان تقرأ الاكواد وتفهمها ثم قم بتغيير الاسماء والحقول لماتريد في مشروعك
دمت بالف خير



RE: كيفية عرض الصور من قاعدة البيانات على picturebox - الرائد - 07-07-19

(06-07-19, 01:08 PM)ابراهيم ايبو كتب : السلام عليكم اخي الكريم
اولا الحدث DataGridView1_SelectionChanged الذي وضعته هو عند تغيير الاختيار في الداتا غرايد ولا علاقة له بفتح الصورة او نسخها او تخزينها
من المفترض اختيار الصورة في Button مستقل وفي حذث الحفظ يتم حفظ مسار الصورة وتسميتها وفق Txt_Id مثلا
وفي حدذ تغيير الاختيار DataGridView1_SelectionChanged نفذ الكود الذي وضعته لك فقط قم بتغيير سطر الصورة ليكون

كود :
PictureBox1.Image = Image.FromFile("image\" & Txt_id.Text & ".jpg") ' على اعتيار ان اسم الصورة هو رقم الايدي

انا حاليا في العمل والا لكنت عملت لك مثال

(06-07-19, 03:42 PM)ابراهيم ايبو كتب :
السلام عليكم اخي رائد
تفضل هذا مثال يقوم بحفظ الصورة في مجلد مستقل بعد اختيارها من اي مكان ويضع لها اسم يكون رقم الاي دي للسجل
ويتحقق من وجود صورة ان كانت تحمل نفس الاسم ويمكن حذف السجل وتحذف الصورة معه ايضا 
اتمنى ان تقرأ الاكواد وتفهمها ثم قم بتغيير الاسماء والحقول لماتريد في مشروعك
دمت بالف خير
Angel Angel Angel Angel Angel Angel Angel Angel Angel
أخي ابراهيم , لن تكفيك كلمات الشكر  Shy
جزاك الله عني Heart  الف خير ... وجعلك انت ومن أحببت في واسع رحمته 
لك التوفيق انشاء الله


RE: كيفية عرض الصور من قاعدة البيانات على picturebox - ابراهيم ايبو - 07-07-19

الحمد لله والشكر لله
ولك اخي رائد