تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة بالتحقق من صورة موجودة في Picturebox
#1
مرحبا احناج كود لتفحص الPicturebox واذا كانت تحتوي مثلا على صورةباسم Pic1 و هذه الصورة موجودة بالريسورس قالنتيجة ايجابية
يعني
 if picturebox1.image = myresourse.pic1 then
code
end if
Basil Abdallah 

الرد
تم الشكر بواسطة: جميل علي
#2
عليك بتحويل الصورتان الي مصفوفة Byte ثم تقارن بين المصفوفتان
الرد
تم الشكر بواسطة: جميل علي , جميل علي , Basil Abdallah
#3
شكرا لك لسرعة الرد .. ساحاول ولكن في هذا الوقت هل بامكانك اعطائي الكود اذا لم انجح بتحويل الصورة
Basil Abdallah 

الرد
تم الشكر بواسطة: جميل علي , جميل علي
#4
هذا اسرع كود علي الاطلاق لتحويل الصورة الي مصفوفة 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 
الرد



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم