我有一个C代码,可以像这样创建位图。
长SaveBmpFile(LPCTSTR文件名,BYTE * ImageBitmap,DWORD BitmapByteCount,长宽度,长高度)
{
文件* fp;
BITMAPFILEHEADER bfh;
BITMAPINFOHEADER bih;
DWORD dwBitmapByteCountPerLine;
DWORD dwBitmapByteCount;
dwBitmapByteCountPerLine =(宽度* 3 + 3)& (~3);
// Windows位图要求每行边界为32位
dwBitmapByteCount =高度* dwBitmapByteCountPerLine;
bfh.bfType = 0x4d42;
bfh.bfSize = BitmapByteCount + sizeof(BITMAPFILEHEADER)+ sizeof(BITMAPINFOHEADER);
bfh.bfReserved1 = 0;
bfh.bfReserved2 = 0;
bfh.bfOffBits = sizeof(BITMAPFILEHEADER)+ sizeof(BITMAPINFOHEADER);
bih.biSize = sizeof(BITMAPINFOHEADER);
bih.biWidth =宽度;
bih.biHeight =高度;
bih.biPlanes = 1;
bih.biBitCount = 24;
bih.biCompression = BI_RGB;
bih.biSizeImage = 0;
bih.biXPelsPerMeter = 0;
bih.biYPelsPerMeter = 0;
bih.biClrUsed = 0;
bih.biClrImportant = 0;
fp = fopen(文件名,"wb");
如果(!fp)
{
返回-1;
}
//制作位图数据
BYTE * bp = ImageBitmap;
fwrite(&bfh.bfType,1,sizeof(BITMAPFILEHEADER),fp);
fwrite(&bih.biSize,1,sizeof(BITMAPINFOHEADER),fp);
fwrite(bp, 1, dwBitmapByteCount, fp);
fclose(fp);
返回0;
}
是否有C#的BITMAPFILEHEADER等效类?还是自己定义?
长SaveBmpFile(LPCTSTR文件名,BYTE * ImageBitmap,DWORD BitmapByteCount,长宽度,长高度)
{
文件* fp;
BITMAPFILEHEADER bfh;
BITMAPINFOHEADER bih;
DWORD dwBitmapByteCountPerLine;
DWORD dwBitmapByteCount;
dwBitmapByteCountPerLine =(宽度* 3 + 3)& (~3);
// Windows位图要求每行边界为32位
dwBitmapByteCount =高度* dwBitmapByteCountPerLine;
bfh.bfType = 0x4d42;
bfh.bfSize = BitmapByteCount + sizeof(BITMAPFILEHEADER)+ sizeof(BITMAPINFOHEADER);
bfh.bfReserved1 = 0;
bfh.bfReserved2 = 0;
bfh.bfOffBits = sizeof(BITMAPFILEHEADER)+ sizeof(BITMAPINFOHEADER);
bih.biSize = sizeof(BITMAPINFOHEADER);
bih.biWidth =宽度;
bih.biHeight =高度;
bih.biPlanes = 1;
bih.biBitCount = 24;
bih.biCompression = BI_RGB;
bih.biSizeImage = 0;
bih.biXPelsPerMeter = 0;
bih.biYPelsPerMeter = 0;
bih.biClrUsed = 0;
bih.biClrImportant = 0;
fp = fopen(文件名,"wb");
如果(!fp)
{
返回-1;
}
//制作位图数据
BYTE * bp = ImageBitmap;
fwrite(&bfh.bfType,1,sizeof(BITMAPFILEHEADER),fp);
fwrite(&bih.biSize,1,sizeof(BITMAPINFOHEADER),fp);
fwrite(bp, 1, dwBitmapByteCount, fp);
fclose(fp);
返回0;
}
是否有C#的BITMAPFILEHEADER等效类?还是自己定义?