СообЧа > База Знаний > Программирование > Delphi

Вопрос

Допустим есть маленькая картинка с цветовой палитрой в 16 стандартных цветов. Задача — взять цвет конкретного пиксела и сравнить, примерно так:

Case цвет_пиксела_с_координатами(x,y) of
clWhite: команда1;
clRed: команда2;
и тд.

Как это сделать?

Ответ

Надо брать значение цвета из массива "Pixels" свойства "Canvas". Ты не написал, где у тебя картинка — в битмапе или может еще где, но свойство "Canvas" есть у всех компонентов, связанных с рисованием. Оно может быть на 3-4 уровне, но оно полюбому присутствует. Вот приблизительный кусок кода:

var
bm:TBitmap;
begin
bm:=Tbitmap.Create;
bm.LoadFromFile('имя_файла_с_картинкой');
case bm.Canvas.Pixels[x,y] of
clWhite: … ;
clRed: … ;
end;


Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация