Вопрос
Допустим есть маленькая картинка с цветовой палитрой в 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 Сообщество Чайников
Контактная информация