1,深度为8的灰度图转换:
public static HImage Bitmap2HImage_8(Bitmap bImage)
{
Bitmap bImage8;
BitmapData bmData = null;
Rectangle rect;
IntPtr pBitmap;
IntPtr pPixels;
var hImage = new HImage();
rect = new Rectangle(0, 0, bImage.Width, bImage.Height);
bmData = bImage.LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format8bppIndexed);
pBitmap = bmData.Scan0;
pPixels = pBitmap;
hImage.GenImage1("byte", bImage.Width, bImage.Height, pPixels);
bImage.UnlockBits(bmData);
//formathimage = hImage;
return hImage;
}
2,深度为24的RGB图转换1:
注意:Bitmap4字节对齐,非4的整数倍宽度的图像,后面会补0来达到4的倍数。如图像width=202,每行202个字节,实际内存每行后面会补两个字节,宽度变为20