标签:wxbitmap
说明
显示一张图片,非常容易
例子
wxImage image(wxT("C:/timg.bmp"), wxBITMAP_TYPE_BMP);
wxBitmap bitmap(image);
wxBufferedPaintDC dc(this);
dc.DrawBitmap(bitmap, 0, 0, true);
问题
尝试调用Create函数指定图片的原始数据,当前使用bmp位图为例子,bmp的偏移54个字节之后是调色板,但是当前使用24色位图,所以没有调色板,后面直接是图片数据,生辰位图出错,记录如下:
FILE * fileFd;
long fileLen;
fileFd = fopen ("C:/timg.bmp","rb");
if (fileFd==NULL)
{
return ;
}
else
{
fseek (fileFd, 0, SEEK_END);
fileLen=ftell (fileFd);
}
char* pRawData = (char*)malloc(fileLen-54);
fseek (fileFd, 54, SEEK_SET);
fputs(pRawData, fileFd);
fclose(fileFd);
wxBitmap bitmap;
bitmap.Create(pRawData, wxBITMAP_TYPE_BMP, 1024, 626);
wxBufferedPaintDC dc(this);
dc.DrawBitmap(bitmap, 0, 0, true);
标签:wxbitmap
原文地址:http://fengyuzaitu.blog.51cto.com/5218690/1897263