Я пытаюсь нарисовать значок с gdi +. Я правильно работаю, когда загружаю файл значка прямо с диска, но я хотел бы сохранить значок в ресурсах, если это возможно. Есть ли простой способ сделать это без потери разрешения?Gdiplus :: Изображение с ресурса значка?
// The image draws and looks exactly how I want it to
Gdiplus::Image indicator(L"\\Indicator.ico");
graphics->DrawImage(&indicator, 7, 7);
// The image draws, but looks bloated and pixel-y
const HICON hIcon = AfxGetApp()->LoadIcon(IDI_INDICATOR);
if (hIcon)
{
Gdiplus::Bitmap* bitmap = Gdiplus::Bitmap::FromHICON(hIcon);
graphics->DrawImage(bitmap, 7, 7);
}
Вы просто не хотите использовать Bitmap :: FromHICON(), это плохое задание, сопоставляющее значок с изображением. Изображение будет иметь только 16 цветов из предварительно приготовленной палитры. Просто используйте DrawIcon(). –
Спасибо за ввод. DrawIcon() выглядит намного лучше, чем передача растрового изображения в DrawImage(). Изображение по-прежнему не так точно, как DrawImage() на значке, но большая причина использовать Gdiplus заключается в том, что мне также нужно повернуть значок до заданного угла. Для этого я считаю, что мне нужно будет вызвать graphics-> RotateTransform() перед DrawImage(). – pates
Нарисуйте его в растровое изображение, поверните растровое изображение. –