使用CImage类的一点小问题,请帮忙解答一下,谢谢

stidio_zhougang 2003-09-09 11:41:09
每次使用CImage::Save()方法,如果指定guidFileType参数,比如指定为ImageFormatBMP,编译器老说我没有定义它。这到底是怎么回事呀,我查找ImageFormatBMP定义,找到他们都是在gdiplusimaging.h中定义的,我包含这个文件如果在atlimage.h前,这好多错误,明显是重复定义了。如果在其后面包含,错误还是一样,提示我ImageFormatBMP没有定义,郁闷死。现在只能用一种非常曲折的办法,即用CImage::GetExporterFilterString函数得到这个GUID,然后把它保存到一个链表中,然后再读出来,用在Save中,如果我要保存的格式较多,这也无所谓,但我只需要将这些保存成一种格式,这样又不直观,又麻烦。各位,是不是那个头文件没有包含呀?不要建议我用jpeglib这个库哈,我用了,感觉导入那么多文件到我工程中,就为了实现这么一个功能,相当不爽,再说jpeglib对图像的柔和效果做的不太好!
...全文
77 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
stidio_zhougang 2003-09-11
TO:asett1,虽然GDI+比较强大,但我觉得如果我简单的做个图形处理并不需要用到这个,CImage能够满足我所有需求了,不过用GDI+的确很好,比如你封装一个图形处理软件的底层操作类,如果用一般的GDI,避免不了的是要在程序中涉及到界面的一些事,但用GDI+可以做到完全与界面无关,或者说有关,但封装的代码至少要清晰得多!
谢谢OverSense得回答,我问这个问题得那个晚上就找到错误原因了。
回复
Oversense 2003-09-11
在ImageFormatJPEG加上命名空间Gdiplus
CImage是对GDI+进行得一个封装,里面所有图形格式的GUID用的都是Graphi下得图形的GUID,必须加上Gdiplus这个命名空间才能使用!
回复
asett1 2003-09-10
你改变一下vc的 include files path,把ATL的include 放在mfc include 前面。
或者用gdi+,它的功能比CImage强大多了,需要下载microsoft platform sdk
回复
发帖
图形处理/算法
创建于2007-09-28

1.9w+

社区成员

VC/MFC 图形处理/算法
申请成为版主
帖子事件
创建了帖子
2003-09-09 11:41
社区公告
暂无公告