تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] كيف تكتشف أن الصورة معكوسة
#1
يمكن إكتشاف هل الصورة المستخدمة معكوسة باستخدام BitmapDat Class
حيث نتأكد أن قيمة Stride تكون أكبر من صفر

و لمزيد من التفاصيل عن الكلاس BitmapData يمكنك مراجعة اللينك التالي

BitmapData Class

الدالة التالية تسترجع قيمة عبارة عن Boolean

لو كانت القيمة المسترجعة من الدالة تساوي True
إذن الصورة تكون معكوسة في تلك الحالة

و أيضا العكس صحيح لو كانت القيمة المسترجعة من الدالة تساوي False
إذن الصورة في وضعها الطبيعي

الكود التالي يوضح شكل الدالة

كود :
''' <summary>
    ''' Check image is upside down
    ''' </summary>
    ''' <param name="originalBitmap">bitmap</param>
    ''' <returns>True, if the image is upside dwn</returns>
    ''' <remarks></remarks>
    Private Function IsUpSideDownBitmap(originalBitmap As Bitmap) As Boolean
        Dim bmp As Bitmap = CType(originalBitmap.Clone(), Bitmap)
        Dim rect As Rectangle = New Rectangle(0, 0, bmp.Width, bmp.Height)
        Dim bmpData As Imaging.BitmapData = bmp.LockBits(rect, Imaging.ImageLockMode.ReadOnly, Imaging.PixelFormat.Format32bppArgb)
        Return originalBitmap IsNot Nothing AndAlso bmpData.Stride > 0
    End Function

الكود التالي يوضح كيف نرسم الصورة و هي معكوسة

1- حيث نقوم بتعريف صورة كما نشاء - في المثال هنا قمت بإضافة صورة الي Resources المشروع

2- ثم علينا أن نمرر تلك الصورة الي الدالة لكي نتأكد هل الصورة معكوسة أم لا

3- ثم نقوم برسمها علي سطح الفورم في الحدث Paint الخاص ب الفورم

كود :
Dim bmp As New Bitmap(My.Resources._29322)

        ' example 1 : check if image is upside down and draw the image

        ' check image, the function shall return true if the image is upside down
        If IsUpSideDownBitmap(bmp) Then
            ' do something like rotate the image or do not draw it
            ' the image will drawn becuase the function return True
            e.Graphics.DrawImage(bmp, 0, 0)
        End If


أتمني إن الكود يكون مفيدا لكم
الرد }}}
تم الشكر بواسطة: vb_net , Omar Mekkawy , Aly El-Haddad , صبري زينوبي
#2
جزاك الله كل خير أستاذي الكريم
موضوع رائع
تحياتي لك
اللَّهُمَّ أَنْتَ رَبِّي ، لا إِلَه إِلاَّ أَنْتَ خَلَقْتَني وأَنَا عَبْدُكَ ، وأَنَا على عهْدِكَ ووعْدِكَ ما اسْتَطَعْتُ ، أَعُوذُ بِكَ مِنْ شَرِّ ما صنَعْتُ ، أَبوءُ لَكَ بِنِعْمتِكَ علَيَ ، وأَبُوءُ بذَنْبي فَاغْفِرْ لي ، فَإِنَّهُ لا يغْفِرُ الذُّنُوبِ إِلاَّ أَنْتَ .
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [كود] عمل اشارة على الصورة HASAN6.0 2 2,569 18-11-15, 10:46 AM
آخر رد: HASAN6.0
  [كود] كيف نتأكد من أن البكسل الموجودة في الصورة تدعم الشفافية silverlight 1 2,610 02-06-15, 03:43 PM
آخر رد: abulayth
  الصورة العربية - لآ مشقة بعد الآن في إنشاء الدروس ! RaggiTech 2 3,014 25-04-13, 12:22 PM
آخر رد: خليل اسماعيل
  تحويل الصورة الى ايقونة Sniper.ps RaggiTech 0 2,260 03-10-12, 07:59 AM
آخر رد: RaggiTech

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


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