VB Code:
Public Function Mask(ByVal iPic As Bitmap) As Bitmap Dim NewMask As Bitmap = New Bitmap(iPic.Width, iPic.Height) Dim GDColor As Color Dim i As New Rectangle i.Width = iPic.Width i.Height = iPic.Height Dim BitData As BitmapData = NewMask.LockBits(i, Imaging.ImageLockMode.ReadWrite, iPic.PixelFormat) Dim bit2data As BitmapData = iPic.LockBits(i, ImageLockMode.ReadWrite, iPic.PixelFormat) For y As Integer = 0 To iPic.Height - 1 For x As Integer = 0 To iPic.Width - 1 GDColor = iPic.GetPixel(x, y) ' ERROR HERE If GDColor.ToArgb <> Color.Black.ToArgb Then NewMask.SetPixel(x, y, Color.Black) Else NewMask.SetPixel(x, y, Color.White) End If Next x Next y NewMask.UnlockBits(BitData) iPic.UnlockBits(bit2data) Return NewMask End Function
Am i using lockbits incorrectly? I've done my research it seems ok, but it says that my bitmap is locked on the line above. I have it set to read/write though :/




Reply With Quote