Поделиться через


Метод Graphics::GetHalftonePalette (gdiplusgraphics.h)

Метод Graphics::GetHalftonePalette получает палитру полутона Windows.

Синтаксис

HPALETTE GetHalftonePalette();

Возвращаемое значение

Тип: static

Этот метод возвращает дескриптор в палитру полутона Windows.

Комментарии

Метод Graphics::GetHalftonePalette предназначен для включения GDI+ для получения полутонов более высокого качества, когда дисплей использует 8 бит на пиксель. Чтобы отобразить изображение с помощью палитры полутонов, выполните следующую процедуру:

  1. Вызовите метод Graphics::GetHalftonePalette , чтобы получить палитру полутонов GDI+.
  2. Выберите палитру полутона в контексте устройства.
  3. Реализуйте палитру, вызвав функцию RealizePalette .
  4. Создайте объект Graphics из дескриптора в контексте устройства.
  5. Вызовите метод Graphics::D rawImage объекта Graphics .
Не забудьте удалить палитру после завершения ее использования. Если не следовать предыдущей процедуре, то на устройстве с 8 битами на пиксель используется процесс по умолчанию с 16 цветами, что приводит к снижению качества полутона.

Примеры

В примере ниже одно и то же изображение рисуется дважды. Перед тем как изображение будет отрисовано во второй раз, код получает полутоновую палитру, выбирает палитру в контекст устройства и реализует палитру.

VOID Example_GetHalftonePalette(HDC hdc)
{
   Image image(L"Mosaic.png");
   
   Graphics* graphics1 = new Graphics(hdc);
   graphics1->DrawImage(&image, 10, 10);
   delete graphics1;
   
   HPALETTE hPalette = Graphics::GetHalftonePalette();
   SelectPalette(hdc, hPalette, FALSE);
   RealizePalette(hdc);
   Graphics* graphics2 = new Graphics(hdc);
   graphics2->DrawImage(&image, 300, 10);
   delete graphics2;
   DeleteObject(hPalette);
}

Требования

   
Минимальная версия клиента Windows XP, Windows 2000 Профессиональная [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdiplusgraphics.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

См. также раздел

GetPalette

Графика

RealizePalette

SetPalette