ATL 中的 CImage 类

Posted

技术标签:

【中文标题】ATL 中的 CImage 类【英文标题】:CImage class in ATL 【发布时间】:2014-07-15 13:04:38 【问题描述】:

我有 Windows 8 和 Micosoft Visual Studio 2010 Express。

我正在做一个项目,我需要通过客户端和服务器传输图片。我搜索了一下,发现 CImage 类很有用。

问题是 CImage 类在 ATL 库中,而我的 Visual Studio 没有这个库,有没有办法可以将 ATL 库包含到我的 VS 或下载另一个 VS(可以在 Win8 上运行) ?

如果有人知道更好的类或库来处理图片和位图,我会很高兴听到

【问题讨论】:

【参考方案1】:

ATL is not available in Express version of Visual Studio。但是,CImage 类只是 GDI 和 GDI+ API 的封装,您可以直接使用它们。

【讨论】:

GDI+ 看起来很方便,但是当我在互联网上查看示例时,示例使用了“图像”和“位图”等应该包含但我没有它们的类。你知道什么是错误的? link【参考方案2】:

您可能应该查看在 Win32 API 中可用的 BITMAP。位图是像地图一样排列的一系列点(位),因此当它们放在一起时,它们会产生可以写入、复制、重新排列、更改、操作或存储为计算机文件的图片。位图可以通过设备上下文 (HDC) 进行操作。 (http://msdn.microsoft.com/en-us/library/azz5wt61.aspx)

一些基础教程:http://www.winprog.org/tutorial/bitmaps.html

此外,如果您可以访问它,Petzold Programming Windows(第 5 版)的第 14 章和第 15 章专门介绍位图和图形。

【讨论】:

以上是关于ATL 中的 CImage 类的主要内容,如果未能解决你的问题,请参考以下文章

使用 ATL CImage 从内存缓冲区加载图像

将MFC Cimage初始化为纯色

使用vs2005cimage类显示图片出现问题。求大神指教

VC6.0中怎样使用CImage类?

VC++如何将rc资源中的图片加载到MFC的CImage对象中(附源码)

opencv mat和CImage之间的转换