怎么显示保存为二进制文件的bmp图象
求助:如何显示保存为二进制文件的bmp图象
求助:如何显示保存为二进制文件的bmp图象
bmp图象的信息保存在一个二进制文件中
如何将bmp图象显示出来,有什么比较好的函数吗?
谢谢
------解决方案--------------------
不知道你说的二进制是针对什么而言,没见过文本格式的位图。
如果仅指位图文件,用LoadImage加载,然后用GDI函数创建一个内存DC,将位图句柄选入内存DC,BitBlt到屏幕即可。用完将位图选出内存DC。
------解决方案--------------------
呵呵,又有问这个的。
BITMAPFILEHEADER bmpfile;
BITMAPINFOHEADER bmpinfo;
//set bmpfile////////////////////////////
bmpfile.bfType = 0x4d42; // 'BM '
bmpfile.bfReserved1 = bmpfile.bfReserved2 = 0;
bmpfile.bfOffBits = sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
bmpfile.bfSize = bmpfile.bfOffBits;//+10000-14;//m_nSize;
//set bmpinfo///////////////////////////////////
bmpinfo.biSize = sizeof(BITMAPINFOHEADER);
bmpinfo.biWidth = 100; //m_nW;
bmpinfo.biHeight = 100; //m_nH;
bmpinfo.biPlanes = 1;
bmpinfo.biBitCount = 24;
bmpinfo.biCompression = BI_RGB;
bmpinfo.biSizeImage = 0;
bmpinfo.biXPelsPerMeter = 0;
bmpinfo.biYPelsPerMeter = 0;
bmpinfo.biClrUsed = 0;
bmpinfo.biClrImportant = 0;
CFile file( "abc.bmp ",CFile::modeCreate|CFile::modeWrite);
file.Write(&bmpfile,sizeof(BITMAPFILEHEADER));
file.Write(&bmpinfo,sizeof(BITMAPINFOHEADER));
m_RGB = new RGBTRIPLE[100*100]; //假设bmp是100*100的,根据实际情况new
for(int i=0;i <10000;i++)
{ //装入你的实际的数据
m_RGB[i].rgbtBlue=(255); //
m_RGB[i].rgbtGreen =(055);//
m_RGB[i].rgbtRed = (155);//
}
file.Write(m_RGB,30000); // 保存图片
主要是把文件头搞好,然后填数据 怎么显示你可以在****上搜索到的
求助:如何显示保存为二进制文件的bmp图象
bmp图象的信息保存在一个二进制文件中
如何将bmp图象显示出来,有什么比较好的函数吗?
谢谢
------解决方案--------------------
不知道你说的二进制是针对什么而言,没见过文本格式的位图。
如果仅指位图文件,用LoadImage加载,然后用GDI函数创建一个内存DC,将位图句柄选入内存DC,BitBlt到屏幕即可。用完将位图选出内存DC。
------解决方案--------------------
呵呵,又有问这个的。
BITMAPFILEHEADER bmpfile;
BITMAPINFOHEADER bmpinfo;
//set bmpfile////////////////////////////
bmpfile.bfType = 0x4d42; // 'BM '
bmpfile.bfReserved1 = bmpfile.bfReserved2 = 0;
bmpfile.bfOffBits = sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
bmpfile.bfSize = bmpfile.bfOffBits;//+10000-14;//m_nSize;
//set bmpinfo///////////////////////////////////
bmpinfo.biSize = sizeof(BITMAPINFOHEADER);
bmpinfo.biWidth = 100; //m_nW;
bmpinfo.biHeight = 100; //m_nH;
bmpinfo.biPlanes = 1;
bmpinfo.biBitCount = 24;
bmpinfo.biCompression = BI_RGB;
bmpinfo.biSizeImage = 0;
bmpinfo.biXPelsPerMeter = 0;
bmpinfo.biYPelsPerMeter = 0;
bmpinfo.biClrUsed = 0;
bmpinfo.biClrImportant = 0;
CFile file( "abc.bmp ",CFile::modeCreate|CFile::modeWrite);
file.Write(&bmpfile,sizeof(BITMAPFILEHEADER));
file.Write(&bmpinfo,sizeof(BITMAPINFOHEADER));
m_RGB = new RGBTRIPLE[100*100]; //假设bmp是100*100的,根据实际情况new
for(int i=0;i <10000;i++)
{ //装入你的实际的数据
m_RGB[i].rgbtBlue=(255); //
m_RGB[i].rgbtGreen =(055);//
m_RGB[i].rgbtRed = (155);//
}
file.Write(m_RGB,30000); // 保存图片
主要是把文件头搞好,然后填数据 怎么显示你可以在****上搜索到的