怎么将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等很容易,往图上写字也是很简单就可实现的。
[解决办法]
对使用出成熟的图像库,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格式