conversion to gray scale

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • faryal
    New Member
    • Jun 2006
    • 2

    conversion to gray scale

    hi ,faryal here i want to convert an image to graysclae in VB .for that purpose i have translated a code from C# to VB but it has got some error i don't know how to correct it.


    Private Sub Command1_Click( )
    Dim Fldr As String
    Fldr = "C:\pic.bmp "
    Dim b As New Bitmap(Fldr)
    Dim bmData As BitmapData
    bmData = b.LockBits(New Rectangle(0, 0, b.Width, b.Height),Drawi ng.Imaging.Imag eLockMode.ReadW rite, Drawing.Imaging .PixelFormat.Fo rmat24bppRgb)



    Dim stride As Integer
    stride = bmData.stride
    Dim Scan0 As System.IntPtr
    Scan0 = bmData.Scan0

    Dim p As Machine.BytePtr
    p= New Machine.BytePtr (Machine.BytePt r.Cast(Machine. TypePtr.Cast(Sc an0, GetType())))

    Pic.Width = b.Width
    Pic.Height = b.Height



    Dim nOffset As Integer
    nOffset = stride - b.Width * 3

    Dim red, green, blue As Byte

    Dim y As Integer

    For y = 0 To (b.Height)


    Dim x As Integer
    For y = 0 To (b.Width)

    blue = p(0)
    green = p(1)
    red = p(2)
    p(2) = CByte(0.299 * red + 0.587 * green + 0.114 * blue)
    p(0) = p(2)
    p(1) = p(2)



    p = p.PtrForOffset( 3)
    Next
    p = p.PtrForOffset( nOffset)
    Next

    b.UnlockBits (bmData)
    SavePicture b, "C:\" & "he.bmp"

    End Sub

    i m new in VB so can any 1 plz tell me wat header need to be added or which classes need to be import
Working...