首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

如何将JPG图片转化为BMP格式

2013-01-11 
怎么将JPG图片转化为BMP格式我准备在JPG图片上打字上去,但是到处看到的都是通过BMP打上去的,现在把后面的

怎么将JPG图片转化为BMP格式
我准备在JPG图片上打字上去,但是到处看到的都是通过BMP打上去的,现在把后面的部分实现了,能够用BMP打字上去并保存为JPG,但是差前面的把JPG转换为BMP。试过把文件的后缀给它直接改了,但是那样改出来的BMP不行。各位大哥指点一下啊,不胜感激
[解决办法]
BMP到JPG有个压缩的算法吧,不太懂
[解决办法]


BMP JPG 互转 GDI+


int GetEncoderClsid(const WCHAR* format, CLSID* pClsid)
{
UINT num= 0;
UINT size= 0;

ImageCodecInfo* pImageCodecInfo= NULL;

GetImageEncodersSize(&num, &size);
if(size== 0)
{
   return -1;
}
pImageCodecInfo= (ImageCodecInfo*)(malloc(size));
if(pImageCodecInfo== NULL)
{
   return -1;
}

GetImageEncoders(num, size, pImageCodecInfo);

for(UINT j=0; j< num; ++j)
{
   if(wcscmp(pImageCodecInfo[j].MimeType, format)== 0)
   {
    *pClsid= pImageCodecInfo[j].Clsid;
    free(pImageCodecInfo);
    return j;
   }

free(pImageCodecInfo);
return -1;
}

CLSID encoderClsid

    GetEncoderClsid(L"image/png", &encoderClsid);   

    GetEncoderClsid(L"image/bmp", &encoderClsid);

    GetEncoderClsid(L"image/gif", &encoderClsid);

    GetEncoderClsid(L"image/jpeg", &encoderClsid);

    GetEncoderClsid(L"image/tiff", &encoderClsid);

// =======================保存bmp图片============================
CLSID encoderClsid;
GetEncoderClsid(L"image/bmp", &encoderClsid); // bmp
bmp->Save(L"c:\\dst.bmp", &encoderClsid);


[解决办法]
用类库,像楼上的GDI+或用OPENCV或用CxImage等很容易,往图上写字也是很简单就可实现的。
[解决办法]
引用:
用类库,像楼上的GDI+或用OPENCV或用CxImage等很容易,往图上写字也是很简单就可实现的。

对使用出成熟的图像库,CxImage是比较简单易用的一个。
[解决办法]
我倒是觉得CImage是最简单的vc自带
其次是GDI+,也是vc的
[解决办法]
CxImage第三方控件类
[解决办法]
如果用CImage类的话,JPG转BMP还是很简单的
CImage img;
img.Load("d:\\123.jpg");//读取JPG图片
img.Save("d:\\123.bmp");//保存成BMP格式
这样就行了。
[解决办法]
字体过小的话,可以在用TextOut之前用CreateFont创建一个大点的字体,然后用SelectObject选进DC之后才用TextOut输出
[解决办法]
建议LZ使用CXimage这个类库,自己实现的话难度还是很大的,这个类库使用起来非常方便,直接Load(“*.jpg”),然后save("*.bmp")就可以了

[解决办法]
CImage img;
img.Load("d:\\123.jpg");//读取JPG图片
img.Save("d:\\123.bmp");//保存成BMP格式

热点排行