我正在使用Visual Studio 2012。 我试图使用以下内容将CImage保存为jpg:
theImage.Save(filePathAndName, Gdiplus::ImageFormatJPEG);
如link to Microsoft example using CImage::Save所示。
但是,Visual Studio提供错误:
Error: identifier "ImageFormatJPEG" is undefined
为什么我收到此错误?
注意,我已经包含以下内容:
#include <gdiplus.h>
另外,我查看了gdiplus.h并看到以下行:
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
包括#include "GdiplusImaging.h"
等。 GdiplusImaging.h也使用
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
包括
等DEFINE_GUID(ImageFormatJPEG, 0xb96b3cae,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
我认为这可能会导致问题,但我还没想到它。
答案 0 :(得分:1)
我无法使用
直接指定图像格式Gdiplus::ImageFormatJPEG
作为保存功能的第二个参数。
所述如果未包含guidFileType参数,则将使用文件名的文件扩展名来确定图像格式。
因此,我做了以下事情:
char *filePathAndName = "C:\\Projects\\AcesHyAcceptanceTestScreenShot2.jpg";
theImage.Save(filePathAndName);
将CImage保存为jpeg。
如果有人知道该修复程序可以使用Gdiplus::ImageFormatJPEG
,请发布解决方案。
答案 1 :(得分:1)
包括&#34; atlimage.h&#34;应该适合你。