تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف التحقق من صوره اذا كانت نفس الصورة ام لا
#1
كيف التحقق من صوره اذا كانت نفس الصورة ام لا فى اداه PictureBox جربت استخدام هذه الطريقة

كود :
       If PictureBox1.Image Is PictureBox2.Image Then
           MsgBox(0)
       Else
           MsgBox(1)
       End If

و للتحقق اذا كان يوجد اكثر من PictureBox 

كود :
       For Each img As PictureBox In Me.Controls.OfType(Of PictureBox)()
           If TypeOf img Is PictureBox Then
               If img.Image Is img.Image Then
                   MsgBox(0)
               Else
                   MsgBox(1)
               End If
           End If
       Next

للتحقق اذا كان يوجد صوره متشابها فى 5 PictureBox 

لم يعمل اى منهم
الرد }}}}
تم الشكر بواسطة:
#2
هل جربت المقارنة بعد التحويل إلى bytes؟
الرد }}}}
تم الشكر بواسطة:
#3
(05-08-16, 08:18 PM)محمد كريّم كتب : هل جربت المقارنة بعد التحويل إلى bytes؟
كيف ?

(05-08-16, 08:18 PM)محمد كريّم كتب : هل جربت المقارنة بعد التحويل إلى bytes؟
كيف ?
الرد }}}}
تم الشكر بواسطة:
#4
مقارنة الصور يعتر من الأشياء السهلة و الصعبة في نفس الوقت و هذا يحدده أسبابك في مقارنة الصور


عموما كما أشار عليك الأخ محمد كريم أحد الأساليب لمقارنة الصور هو تحويل الصورة الي مصفوفة من  bytes

ويمكنك ان تستخدم الدالة التالية لتحويل الصورة الي مصفوفة من Bytes

كود :
   Private Function ConvertToBytes(bmp As Bitmap) As Byte()
       Dim rect As Rectangle = New Rectangle(0, 0, bmp.Width, bmp.Height)
       Dim data As Imaging.BitmapData = bmp.LockBits(rect, Imaging.ImageLockMode.ReadOnly, Imaging.PixelFormat.Format32bppArgb)
       Dim bytes As Byte() = New Byte(data.Stride * data.Height - 1) {}
       Runtime.InteropServices.Marshal.Copy(data.Scan0, bytes, 0, bytes.Length)
       bmp.UnlockBits(data)
       Return bytes
   End Function

و يمكنك أن تستخدم الدالة التالية لتقارن بها الصور


كود :
  Private Function IsImageEqual(firstImage As Image, secondImage As Image) As Boolean
       Dim left As Byte() = ConvertToBytes(firstImage)
       Dim right As Byte() = ConvertToBytes(secondImage)
       If left.Length < right.Length Then
           Return False
       End If
       For i As Integer = 0 To right.Length - 1
           If left(i) <> right(i) Then
               Return False
           End If
       Next
       Return True
   End Function

الكود التالي يوضح كيفية استخدام الدالة للمقارنة بين صورتين كل منهما موجودة في PictureBox


كود :
      If IsImageEqual(PictureBox1.Image, PictureBox2.Image) Then
           MessageBox.Show("images are equals")
       Else
           MessageBox.Show("images are Not equals")
       End If
الرد }}}}
تم الشكر بواسطة: LoveVb , محمد كريّم , Mohamed20 , أبوبكر سويدان
#5
(06-08-16, 01:10 PM)silverlight كتب : مقارنة الصور يعتر من الأشياء السهلة و الصعبة في نفس الوقت و هذا يحدده أسبابك في مقارنة الصور


عموما كما أشار عليك الأخ محمد كريم أحد الأساليب لمقارنة الصور هو تحويل الصورة الي مصفوفة من  bytes

ويمكنك ان تستخدم الدالة التالية لتحويل الصورة الي مصفوفة من Bytes

كود :
   Private Function ConvertToBytes(bmp As Bitmap) As Byte()
       Dim rect As Rectangle = New Rectangle(0, 0, bmp.Width, bmp.Height)
       Dim data As Imaging.BitmapData = bmp.LockBits(rect, Imaging.ImageLockMode.ReadOnly, Imaging.PixelFormat.Format32bppArgb)
       Dim bytes As Byte() = New Byte(data.Stride * data.Height - 1) {}
       Runtime.InteropServices.Marshal.Copy(data.Scan0, bytes, 0, bytes.Length)
       bmp.UnlockBits(data)
       Return bytes
   End Function

و يمكنك أن تستخدم الدالة التالية لتقارن بها الصور


كود :
  Private Function IsImageEqual(firstImage As Image, secondImage As Image) As Boolean
       Dim left As Byte() = ConvertToBytes(firstImage)
       Dim right As Byte() = ConvertToBytes(secondImage)
       If left.Length < right.Length Then
           Return False
       End If
       For i As Integer = 0 To right.Length - 1
           If left(i) <> right(i) Then
               Return False
           End If
       Next
       Return True
   End Function

الكود التالي يوضح كيفية استخدام الدالة للمقارنة بين صورتين كل منهما موجودة في PictureBox


كود :
      If IsImageEqual(PictureBox1.Image, PictureBox2.Image) Then
           MessageBox.Show("images are equals")
       Else
           MessageBox.Show("images are Not equals")
       End If

شكرا لك
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] مساعدة التحقق من الاتصال بالانترنت dubai.eig 3 100 19-05-17, 06:46 PM
آخر رد: dubai.eig
  كود ربط الصورة مع بيانات الموظف a.baomar 3 88 09-05-17, 02:25 PM
آخر رد: أبووسم
  [VB.NET] طلب كود جلب النص الي في الصورة A-R 2 116 22-04-17, 03:51 PM
آخر رد: A-R
  [VB.NET] مشكلة فى كود عرض الصورة مصطفى_ظيمة 15 320 05-04-17, 11:23 PM
آخر رد: مصطفى_ظيمة
  احتاج كود التحقق من مجلد ان كان فارغ bidaya 2 115 29-03-17, 02:18 AM
آخر رد: bidaya
  طلب كود تغير الصورة من داخل البرنامج MOSTAFA.KAMEL 4 157 24-03-17, 11:58 PM
آخر رد: Master Hacker
  مشكلة في حفظ الصورة أبووسم 4 194 05-03-17, 01:38 PM
آخر رد: أبووسم
  كيفية معرفة اذا كانت form لا تزال مفتوحة ؟ noway 2 180 29-01-17, 04:12 PM
آخر رد: ابو ليلى
  ياشباب ارجو منكم المساعده لدي مشاكل في اضافه الصورة الى قاعده البيانات وعمل بحث ammar ali 3 329 13-01-17, 11:15 PM
آخر رد: ammaraliali
  جعل الصورة تتمدد abdulla2 3 167 11-01-17, 02:17 AM
آخر رد: مساعدة

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


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