Как вращать объект ATL :: CImage - PullRequest
0 голосов
/ 29 февраля 2012

Мой вопрос в основном заключается в том, как вращать объект Windows ATL::CImage?

Я загрузил изображение JPG с помощью объекта Windows ATL CImage, например:

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

Мне также удалось изменить пиксели (они стали ярче) и сохранить новое изображение, теперь я пытаюсь повернуть свое изображение.

Мне нужно только поворачивать с шагом в 90 градусов, поэтому произвольное вращение будет бонусом

1 Ответ

1 голос
/ 29 февраля 2012

только для демонстрации, обработка ошибок опущена, для начала не следует этого делать, просто используйте изображение GDI + вместо ATI CImage и сохраняйте циклическое копирование пикселей.

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