Bitmap bff(L"1.jpg");
bff.Save(L"2.jpg", &Gdiplus::ImageFormatJPEG, NULL);
Run Code Online (Sandbox Code Playgroud)
这将创建一个具有零字节长度的新文件2.jpg.是不是应该写一个与1.jpg相同的图像文件?
为什么我有零字节长度的文件?我正在进行此测试,因为将其他位图写入文件会产生相同的输出.
这是一种保存它的快速方法,因为它GetEncoderClsid是一个自定义函数:
//Save to PNG
CLSID pngClsid;
CLSIDFromString(L"{557CF406-1A04-11D3-9A73-0000F81EF32E}", &pngClsid);
bmp.Save(L"file.png", &pngClsid, NULL);
Run Code Online (Sandbox Code Playgroud)
这是其他格式的ID:
bmp: {557cf400-1a04-11d3-9a73-0000f81ef32e}
jpg: {557cf401-1a04-11d3-9a73-0000f81ef32e}
gif: {557cf402-1a04-11d3-9a73-0000f81ef32e}
tif: {557cf405-1a04-11d3-9a73-0000f81ef32e}
png: {557cf406-1a04-11d3-9a73-0000f81ef32e}
Run Code Online (Sandbox Code Playgroud)