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



مساعدة بالتحقق من صورة موجودة في Picturebox - Basil Abdallah - 24-04-17

مرحبا احناج كود لتفحص الPicturebox واذا كانت تحتوي مثلا على صورةباسم Pic1 و هذه الصورة موجودة بالريسورس قالنتيجة ايجابية
يعني
 if picturebox1.image = myresourse.pic1 then
code
end if


RE: مساعدة بالتحقق من صورة موجودة في Picturebox - silverlight - 24-04-17

عليك بتحويل الصورتان الي مصفوفة Byte ثم تقارن بين المصفوفتان


RE: مساعدة بالتحقق من صورة موجودة في Picturebox - Basil Abdallah - 24-04-17

شكرا لك لسرعة الرد .. ساحاول ولكن في هذا الوقت هل بامكانك اعطائي الكود اذا لم انجح بتحويل الصورة


RE: مساعدة بالتحقق من صورة موجودة في Picturebox - silverlight - 24-04-17

هذا اسرع كود علي الاطلاق لتحويل الصورة الي مصفوفة Byte


PHP كود :
   Friend Function BitmapToBytes(bitmap As Drawing.Bitmap) As Byte()
 
       Dim data As System.Drawing.Imaging.BitmapData bitmap.LockBits(New System.Drawing.Rectangle(00bitmap.Widthbitmap.Height), System.Drawing.Imaging.ImageLockMode.ReadOnlySystem.Drawing.Imaging.PixelFormat.Format32bppArgb)
 
       Dim buffer As Byte() = New Byte(data.Stride data.Height 1) {}
 
       System.Runtime.InteropServices.Marshal.Copy(data.Scan0buffer0buffer.Length)
 
       bitmap.UnlockBits(data)
 
       Return buffer
    End 
Function 

وهذا الكود لمقارنة المصفوفتان
PHP كود :
  Friend Function IsEqual(a() As Byteb() As Byte) As Boolean
        Dim length 
As Integer a.Length Xor b.Length
        Dim i 
As Integer 0
        While i 
a.Length AndAlso i b.Length
            length 
length Or a(i) Xor b(i)
 
           i += 1
        End 
While
 
       Return length 0
    End 
Function 
الكود التالي يوضح كيفية استخدام الدالتان معا لمقارنة الصورتان

PHP كود :
       Dim bmp1 As Bitmap CType(My.Resources.ResourceManager.GetObject("اسم الصورة"), Bitmap)
 
       Dim buffer1 As Byte() = BitmapToBytes(bmp1)
 
       Dim bmp2 As Bitmap picturebox1.image
        Dim buffer2 
As Byte() = BitmapToBytes(bmp2)
 
       IF IsEqual(buffer1buffer2Then
        
' do somethign if both images are equals
        Else
        ' 
do somethign if both images are not equals
        End 
IF