be going on:C++如何读入图片

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 13:39:05
例如:jpg

读入图片的程序是很复杂的,不同格式的图片不单文件结构不同,它们的编码方式和压缩方式也不同. 一般人的建议是出钱买图片读写程序库,自己调用和链接进去.这比自己开发省时省力省钱.

MFC中有个OleLoadPicturePath()函数可用于读入jpg,gif,bmp等少数格式的图片,调用方法如下:

LPPICTURE m_pPic;
HRESULT hr = ::OleLoadPicturePath(
const_cast<LPOLESTR>(T2COLE(lpszPathName)), //path or URL
NULL, //pointer to LPUNKNOWN IUnknown
0, // reserved
0, // reserved OLE_COLOR color for transparent
IID_IPicture, //REFIID
reinterpret_cast<LPVOID *>(&m_pPic));

结果在m_pPic中.

m_pPic->get_Width(&cx); //图片宽度
m_pPic->get_Height(&cy);//图片高度

读BMP很Easy的用LoadImage就可以了,但读JPG就麻烦了,MSDN上或www.vckbase.com上有一个别人写好的CPicture类。挺好用的。如果用GDI+,有现成的东西的,好像叫Graphic的什么东西的