MFC中如何存储和提取图片
展开全部
*.bmp图的存储结构,知道这个以后就可以随便存储和提取图片了。
屡试不爽。
#pragma pack(2)
typedef struct _MyBITMAP
{
/*0x00*/ short type;
/*0x02*/ DWORD fileSize; // File Size(with head)
/*0x06*/ DWORD mustbe0; // reserved ,must be 0
/*0x0A*/ DWORD dataoff; // offset from head to bitmap data
/*0x0E*/ DWORD type0x28; // 不同文件可能值不同,这里生成BITMAP,所以用0X28
/*0x12*/ DWORD width; // width in pixel
/*0x16*/ DWORD height; // height in pixel
/*0x1A*/ WORD nPanles; // 位图的位面数,GIF图形这个值可能不为1
/*0x1C*/ WORD nBitPerPixel; // 图片每一像素所需要的位数,24位位图此值为0x18
/*0x1E*/ DWORD bCompress; // 是否压缩,通常为0
/*0x22*/ DWORD bmpSize; // size of bitmap data(without head)
/*0x26*/ DWORD pixH; // 用象素/米表示的水平分辨率,不知道的话可以为0
/*0x2A*/ DWORD pixV; // 用象素/米表示的垂直分辨率,不知道的话可以为0
/*0x2E*/ DWORD nColors; // 位图使用的颜色数目,不知道的话可以为0
/*0x32*/ DWORD nImport; // 使用的最多的颜色的数目,不知道的话可以为0
}MyBITMAP;
屡试不爽。
#pragma pack(2)
typedef struct _MyBITMAP
{
/*0x00*/ short type;
/*0x02*/ DWORD fileSize; // File Size(with head)
/*0x06*/ DWORD mustbe0; // reserved ,must be 0
/*0x0A*/ DWORD dataoff; // offset from head to bitmap data
/*0x0E*/ DWORD type0x28; // 不同文件可能值不同,这里生成BITMAP,所以用0X28
/*0x12*/ DWORD width; // width in pixel
/*0x16*/ DWORD height; // height in pixel
/*0x1A*/ WORD nPanles; // 位图的位面数,GIF图形这个值可能不为1
/*0x1C*/ WORD nBitPerPixel; // 图片每一像素所需要的位数,24位位图此值为0x18
/*0x1E*/ DWORD bCompress; // 是否压缩,通常为0
/*0x22*/ DWORD bmpSize; // size of bitmap data(without head)
/*0x26*/ DWORD pixH; // 用象素/米表示的水平分辨率,不知道的话可以为0
/*0x2A*/ DWORD pixV; // 用象素/米表示的垂直分辨率,不知道的话可以为0
/*0x2E*/ DWORD nColors; // 位图使用的颜色数目,不知道的话可以为0
/*0x32*/ DWORD nImport; // 使用的最多的颜色的数目,不知道的话可以为0
}MyBITMAP;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询