Format16bppGrayScale : a generic error occurred in gdi+

  • Thread starter Thread starter Btb4198
  • Start date Start date
B

Btb4198

Guest
I am trying to use Format16bppGrayScale, but I keep getting error: "a generic error occurred in gdi+". I have a monochromatic camera that is giving me a 16 bit value and I want to store it in Format16bppGrayScale so I can keep my image from the camera. the 16 bit value is coming in an array that is two array indexes per one 16 bit value:


public Bitmap ByteToImage1(byte[] blob)
{


Bitmap bmpRGB = new Bitmap(KeepWidth, KeepHeight, System.Drawing.Imaging.PixelFormat.Format16bppGrayScale);
Rectangle rect = new Rectangle(0, 0, KeepWidth, KeepHeight);
BitmapData bmpData = bmpRGB.LockBits(rect, ImageLockMode.WriteOnly, bmpRGB.PixelFormat);
int padding = bmpData.Stride - 3 * KeepWidth;
unsafe
{
int i = 0;
byte* ptr = (byte*)bmpData.Scan0;
for( int y= 0; y < KeepHeight; y++)
{
for(int x = 0; x < KeepWidth; x++)
{

ptr[1] = blob[i+1];
ptr[0] = blob;

i = i + 2;
ptr += 2;
}
ptr += padding;
}

}
bmpRGB.UnlockBits(bmpData);
return bmpRGB;

}

Continue reading...
 
Back
Top