Detect Image is upside Down


The following function may used to detect if an image is upside down or not.
The function will check the BitmapData.Stride value and returned value is of a Boolean type and if the returned value of BitmapData.Stride is greater than zero...then the bitmap is upside down. For further details about BitmapData Class, please check the link Link

Function:


    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



Usage:

         ' Define the image
        Dim bmp As New Bitmap(My.Resources._29322)

        ' pass the image to the function
       If IsUpSideDownBitmap(bmp) Then
           ' If returned value is True, then draw the image or
            ' do something like rotate the image
            ' the image will drawn becuase the function return True
            e.Graphics.DrawImage(bmp, 0, 0)
        End If


Enjoy it.......

Comments

Popular posts from this blog

مقدمة الي تشفير الحروف الأبجدية العربية

VB.NET Translucent Control using GDI+

Add Custom Event to a Class in VB.NET