02-10-12, 03:06 PM
(آخر تعديل لهذه المشاركة : 02-10-12, 03:08 PM {2} بواسطة محمود رغمان.)
مثال علي الطريقة الرابعة
افتح مشروع جديد وأضف له PictureBox ثم استخدم الكود التالي
مثال أخر علي الطريقة الرابعة
افتح مشروع ثم استخدم الكود التالي لرسم الصورة من داخل الحدث Paint الخاص بالفورم
الطريقة الخامسة:
تعتمد هذه الطريقة علي استخدام OpenFileDialog ومن ثم تحميل الصورة أو رسمها أو استخدامها كما نريد
مثال علي الطريقة الخامسة
افتح مشروع جديد وأضف الي الفورم OpenFileDialog وباتون و PictureBox ثم استخدم الكود التالي
في واقع الأمر هناك أفكار أخري من الممكن استخدامها لإضافة صور الي المشروع ومنها غلي سبيل المثال استخدام الداتا بيز مثل استخدام SQL أو استخدام MS Access لتخزين البيانات داخل ملف ثم استرجاع هذه البيانات في أي وقت نريده أو نتعامل معها كيفما شئنا
وهذه الطريقة سيكون لها مقال خاص بها لأهميتها
الأن وبعد أن ناقشنا كيفية إضافة الصور في بيئة الدوت نت لنسأل أنفسنا كيف نستفيد من مجموعة الأكواد السابقة بحيث يكون لدينا بالنهاية داله أو Function معينة يمكننا استخدامها في أي وقت نشاء وكما تحدثت سابقا فإن الهدف من هذا المقال هو إنشاء كلاس عام يمكننا أن نحوله الي ملف DLL وبالتالي يمكن أن نستخدمه في أي وقت نشاء بدون الحاجة الي تكرار كتابة الكود أكثر من مرة داخل الفورم
هيا بنا نبني أول Function من مجموعة الأكواد السابقة الخاصة بالجزء الأول في موضوعنا هذا وهو كيفية إضافة الصور الي الفورم
الكود التالي يوضح شكل Function ولقد أطلقت عليها اسم LoadImageFile
حاول عزيزي القارئ أن تقارن بين هذه Function والكود الموجود في المثال رقم الأول الخاص بالطريقة الأولي لإضافة الصور الي الفورم وأيضا الكود الموجود في المثال الأخير الخاص بالطريقة الخامسة ستجد أنه قد تم استخدامهما معا لإنشاء Function وسنلاحظ أيضا أن هذه Function تسترجع قيمة أو تساوي قيمة وهي عبارة عن String وهذا String قيمته تساوي File Name String
وكما تلاحظون أيضا أنه باستخدام هذه Function فإننا نعطي مستخدم البرنامج الأفضلية في اختيار وتحديد الصورة التي يريد إضافتها الي البرنامج آو الي الفورم
طبعا نفس الفكرة من الممكن استخدامها ليس فقط مع الصور ولكن يمكن استخدامها مع ملفات أخري أي أنك عزيزي القارئ يمكن أن تقوم بتطوير هذه Function وبالتالي تستخدمها كيفما شئت
و لقد قمت باستخدام Public Shared لأنني أنوي أن استخدم هذه Function في كلاس منفرد وذلك في أخر المقال
مثال علي استخدام Public Shared Function LoadImageFile()
ولتنفيذ المثال افتح مشروع جديد ثم أضف الي الفورم PictureBox و Button ثم استخدم الكود بالشكل التالي
بالتوفيق
أخوكم عمر
افتح مشروع جديد وأضف له PictureBox ثم استخدم الكود التالي
كود :
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim s As String = "Qk16AQAAAAAAADYAAAAoAAAAIwAAAAMAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5ANj+RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5ANj+RzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMANj+"
Dim ImageStream As IO.Stream = New System.IO.MemoryStream(Convert.FromBase64String(s))
Dim bmp As Bitmap = New Bitmap(ImageStream)
PictureBox1.Image = bmp
PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage
End Sub
End Classافتح مشروع ثم استخدم الكود التالي لرسم الصورة من داخل الحدث Paint الخاص بالفورم
كود :
Public Class Form1
Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
Dim s As String = "Qk16AQAAAAAAADYAAAAoAAAAIwAAAAMAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5ANj+RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5ANj+RzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMANj+"
Dim ImageStream As IO.Stream = New System.IO.MemoryStream(Convert.FromBase64String(s))
Dim bmp As Bitmap = New Bitmap(ImageStream)
e.Graphics.DrawImage(bmp, New Rectangle(0, 0, 100, 100))
End Sub
End Classتعتمد هذه الطريقة علي استخدام OpenFileDialog ومن ثم تحميل الصورة أو رسمها أو استخدامها كما نريد
مثال علي الطريقة الخامسة
افتح مشروع جديد وأضف الي الفورم OpenFileDialog وباتون و PictureBox ثم استخدم الكود التالي
كود :
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
With OpenFileDialog1
.Multiselect = False
.Filter = "All Files|*.*|Bitmaps|*.bmp|GIFs|*.gif|JPEGs|*.jpg|PNGs|*.png"
.FilterIndex = 1
.FileName = ""
End With
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
With PictureBox1
.Image = Image.FromFile(OpenFileDialog1.FileName)
.SizeMode = PictureBoxSizeMode.CenterImage
End With
End If
End Sub
End Classوهذه الطريقة سيكون لها مقال خاص بها لأهميتها
الأن وبعد أن ناقشنا كيفية إضافة الصور في بيئة الدوت نت لنسأل أنفسنا كيف نستفيد من مجموعة الأكواد السابقة بحيث يكون لدينا بالنهاية داله أو Function معينة يمكننا استخدامها في أي وقت نشاء وكما تحدثت سابقا فإن الهدف من هذا المقال هو إنشاء كلاس عام يمكننا أن نحوله الي ملف DLL وبالتالي يمكن أن نستخدمه في أي وقت نشاء بدون الحاجة الي تكرار كتابة الكود أكثر من مرة داخل الفورم
هيا بنا نبني أول Function من مجموعة الأكواد السابقة الخاصة بالجزء الأول في موضوعنا هذا وهو كيفية إضافة الصور الي الفورم
الكود التالي يوضح شكل Function ولقد أطلقت عليها اسم LoadImageFile
كود :
Public Shared Function LoadImageFile()
Dim ofd As New OpenFileDialog
With ofd
.Multiselect = False
.Filter = "All Files|*.*|Bitmaps|*.bmp|GIFs|*.gif|JPEGs|*.jpg|PNGs|*.png"
.FilterIndex = 4
.FileName = "Select image file"
End With
Dim bmpFile As String = ofd.FileName
If ofd.ShowDialog() <> DialogResult.OK Then
bmpFile = Nothing
Else
bmpFile = ofd.FileName
End If
LoadImageFile = bmpFile
End Function ' LoadImageFile Functionوكما تلاحظون أيضا أنه باستخدام هذه Function فإننا نعطي مستخدم البرنامج الأفضلية في اختيار وتحديد الصورة التي يريد إضافتها الي البرنامج آو الي الفورم
طبعا نفس الفكرة من الممكن استخدامها ليس فقط مع الصور ولكن يمكن استخدامها مع ملفات أخري أي أنك عزيزي القارئ يمكن أن تقوم بتطوير هذه Function وبالتالي تستخدمها كيفما شئت
و لقد قمت باستخدام Public Shared لأنني أنوي أن استخدم هذه Function في كلاس منفرد وذلك في أخر المقال
مثال علي استخدام Public Shared Function LoadImageFile()
ولتنفيذ المثال افتح مشروع جديد ثم أضف الي الفورم PictureBox و Button ثم استخدم الكود بالشكل التالي
كود :
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim bmpFileName As String = LoadImageFile()
If bmpFileName Is Nothing Then Exit Sub
Dim bmp As Bitmap = New Bitmap(bmpFileName)
PictureBox1.Image = bmp
PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage
End Sub
Public Shared Function LoadImageFile()
Dim ofd As New OpenFileDialog
With ofd
.Multiselect = False
.Filter = "All Files|*.*|Bitmaps|*.bmp|GIFs|*.gif|JPEGs|*.jpg|PNGs|*.png"
.FilterIndex = 4
.FileName = "Select image file"
End With
Dim bmpFile As String = ofd.FileName
If ofd.ShowDialog() <> DialogResult.OK Then
bmpFile = Nothing
Else
bmpFile = ofd.FileName
End If
LoadImageFile = bmpFile
End Function ' LoadImageFile Function
End Classبالتوفيق
أخوكم عمر
