2012-02-29 69 views
0

我的问题基本上是,我该如何旋转一个windows ATL::CImage对象?如何旋转ATL :: CImage对象

我已经使用windows ATL的CImage对象装载在JPG图像,如:

CImage myImage; myImage.Load(L"IMG1.JPG");

我还设法改变像素(所作的像素更亮)和保存新的图像,现在我我正在努力旋转我的形象。

我只需要能够以90个增量旋转,以任意旋转将是一个奖金

回答

1

演示只,处理忽略错误,不应该这样做有开始,只要使用GDI +的图像,而不是ATL CImage并保存像素复制的往返行程。

Bitmap* gdiPlusBitmap=Bitmap::FromHandle(atlBitmap.Detach()); 
gdiPlusBitmap->RotateFlip(Rotate90FlipNone); 
HBITMAP hbmp; 
gdiPlusBitmap->GetHBITMAP(Color::White, &hbmp); 
atlBitmap.Attach(hbmp); 
+0

这正是我所问的,谢谢。我会接受你的建议,并直接使用GDI +检索图像等:) – sparkeh9 2012-02-29 03:32:12