c++builder 代码压缩图片后,可不可以保留Exif信息
压缩图片后,Exif信息丢失
我的压缩代码如下
AnsiString TfrmEqpManage::Compress(AnsiString FileName)
{
TJPEGImage *pJpg = new TJPEGImage();
//读取源图片
pJpg->LoadFromFile(FileName);
//当图片的像素小于800*600时,则不需要压缩
if ((int)(pJpg->Width * pJpg->Height) < (800 * 600))
{
return FileName;
}
//将图片压缩
pJpg->DIBNeeded();
//当数字越大,压缩之后的图片越清晰,反之
pJpg->CompressionQuality = 75;
pJpg->Compress();
//将压缩图片的图片保存
int pos = FileName.Pos(".jpg");
if (0 == pos)
{
pos = FileName.Pos(".JPG");
}
FileName.Delete(pos, 4);
FileName += "_comp.jpg";
pJpg->SaveToFile(FileName);
return FileName;
}
[解决办法]
估计是版本老了,不支持Exif信息,把Exif信息当无效信息丢了
[解决办法]
TJPEGImage类木有这功能,考虑用GDI+吧。