31-03-16, 11:28 AM
(آخر تعديل لهذه المشاركة : 31-03-16, 11:37 AM {2} بواسطة myalsailamy.)
شكرا لك على الرد // و لكن تم التجربه مره اخرى و نفس النتيجة بالنسبه لي ،، لا اعلم عن باقي الاعضاء هل يحصل معي ام للكل ،،
على العموم اخي الفاضل قمت بالخطوات كما تفضلت ،، و لكن خذ بالاعتبار بان الكود يعمل بشكل جيد خلال فترة تشغيل البرنامج بمجرد اغلاقي للبرنامج و استخدام الكود مره اخرى فانه لا يعمل
قم بالضغط على Button1 و الى الان يعمل بعدها قم باغلاق البرنامج و تشغيله مره اخرى و اضغط على الزر button2 و الذي من المفترض ان يجلب الصورة مباشرة ،، هنا يظهر خطأ ما لاع اعلم ما سببه
على العموم اخي الفاضل قمت بالخطوات كما تفضلت ،، و لكن خذ بالاعتبار بان الكود يعمل بشكل جيد خلال فترة تشغيل البرنامج بمجرد اغلاقي للبرنامج و استخدام الكود مره اخرى فانه لا يعمل
قم بالضغط على Button1 و الى الان يعمل بعدها قم باغلاق البرنامج و تشغيله مره اخرى و اضغط على الزر button2 و الذي من المفترض ان يجلب الصورة مباشرة ،، هنا يظهر خطأ ما لاع اعلم ما سببه
كود :
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim bmp As Bitmap = CType(Image.FromFile("D:\LoginBackGround.jpg"), Bitmap)
Dim bitmapInteger As Integer = BitmapToInteger(bmp)
PictureBox1.Image = CType(IntegerToBitmap(bitmapInteger), Bitmap)
If WriteDataToFile(CType(Image.FromFile("D:\LoginBackGround.jpg"), Bitmap), DataFileName) Then
MessageBox.Show("Bitmap has been saved to file")
Else
MessageBox.Show("Do Not know how to save bitmap to file")
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
PictureBox1.Image = CType(ReadDataFromFile(DataFileName), Bitmap)
End Sub
Private Const DataFileName As String = ".\data.bin"
Friend Function BitmapToInteger(ByVal bmp As Bitmap) As Integer
Dim ptr As System.IntPtr = System.IntPtr.Zero
Dim result As Integer = CType(Nothing, Integer)
If bmp IsNot Nothing Then
ptr = bmp.GetHbitmap()
End If
result = ptr.ToInt32
' OR, you may use
'result = ptr.ToInt64
If ptr <> IntPtr.Zero Then
ptr = IntPtr.Zero
End If
Return result
End Function
Friend Function IntegerToBitmap(ByVal value As Integer) As Bitmap
Return Bitmap.FromHbitmap(value)
End Function
Private Function WriteDataToFile(ByVal bmp As Bitmap, ByVal filename As String) As Boolean
Dim characterEncoding As System.Text.Encoding = CType(Nothing, System.Text.Encoding)
If characterEncoding Is Nothing Then
Dim encoder As System.Text.Encoding = CType(System.Text.Encoding.UTF8.Clone(), System.Text.Encoding)
encoder.EncoderFallback = System.Text.EncoderFallback.ReplacementFallback
characterEncoding = encoder
End If
Using writer As New System.IO.BinaryWriter(System.IO.File.Open(filename, System.IO.FileMode.Create), characterEncoding)
Dim i As Integer = BitmapToInteger(bmp)
writer.Write(i)
Return True
End Using
Return False
End Function
Private Function ReadDataFromFile(ByVal filename As String) As Bitmap
Dim bmp As Bitmap = CType(Nothing, Bitmap)
If (System.IO.File.Exists(filename)) Then
Using reader As New System.IO.BinaryReader(System.IO.File.Open(filename, System.IO.FileMode.Open), New System.Text.UTF8Encoding(False, False))
Dim i As Integer = reader.ReadInt32
bmp = IntegerToBitmap(i)
End Using
End If
Return bmp
End Function
End Class
اسم معرفي : محمد يحيى
