如何使用ATL :: CImage旋转并使图像同时变为半透明?

时间:2017-08-24 00:38:38

标签: c++ image-processing mfc atl

我刚开始在我的MFC项目中使用ATL :: CImage,这是一个非常基本的问题。 我知道ATL :: CImage成员支持AlphaBlend()来控制透明度,而plgblt()用于旋转。但它们只是"显示"的所有独立功能。据我所知,在DC上。 如何同时应用图像的透明度和旋转并显示/保存?

我知道GDI +支持我想要的一切,但我想知道如何用CImage类成员实现它们。

谢谢。

1 个答案:

答案 0 :(得分:1)

这是不可能以同样的方式。您可以为每个操作使用临时DC。

  1. 使用所需大小的位图创建DC。
  2. 将CImage的操作执行到DC。
  3. 从DC获取位图并形成新的CImage,或者直接使用DC。
  4. 更好的方法是始终使用GDI +来执行此类操作。只有在需要存储中间结果或需要重用它时才需要CImage。