![]() |
![]() ![]() ![]() ![]() |
|
Как получить количество цветов в системной палитреDelphi , Графика и Игры , Цвета и Палитра
Оформил: DeeCo
function GetNumColors: LongInt;
var
BPP: Integer;
DC: HDC;
begin
DC := CreateDC('DISPLAY', nil, nil, nil);
if DC <> 0 then
begin
try
BPP := GetDeviceCaps(DC, BITPIXEL) * GetDeviceCaps(DC, PLANES);
finally
DeleteDC(DC);
end;
case BPP of
1: Result := 2;
4: Result := 16;
8: Result := 256;
15: Result := 32768;
16: Result := 65536;
24: Result := 16777216;
end;
end
else
Result := 0;
end;
Трансляция: Функция Разбивка на шаги:
1. Функция создает контекст устройства (DC) с помощью функции Обратите внимание, что эта функция предполагает, что система использует устройство отображения, поддерживающее указанные значения BPP. В практике количество доступных цветов может варьироваться в зависимости от конкретной аппаратной конфигурации и драйвера. Альтернативное решение, использующее функцию
Эта функция проще и более эффективна, так как не требует создания DC или извлечения значения BPP. Однако она может не работать на системах, которые не поддерживают метрику Функция GetNumColors возвращает количество цветов для актуально выбранного разрешения экрана, используя информацию о битовой глубине и планах устройства. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Цвета и Палитра ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||