![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с графикой [D6, Win95/98, WinME, WinXP]
Young_01 © (2003-01-10 21:10:00)Уважаемые Мастера ! Подскажите, пожалуйста, как получить цвет пиксела рисунка с данными координатами в формате RGB.
TTCustomDelphiMaster (2003-01-10 21:40:00) [1]TCanvas.Pixels, GetRValue, GetGValue, GetBValue
Mihey (2003-01-10 21:31:00) [2]Используя свойство ScanLine - это быстро и сразу в RGB. Сначала пишешь такую штучку:
CONST
PixelCountMax = 32768;
TYPE
pRGBTripleArray = ^TRGBTripleArray;
TRGBTripleArray = ARRAY[0..PixelCountMax-1] OF TRGBTriple;
С этими типами и работает ScanLine. Например:
var Row: pRGBTripleArray;
...
Row := Bitmap.Scanline[i];
WITH Row[i] DO
BEGIN
rgbtRed := 255;
rgbtGreen := 255;
rgbtBlue := 255;
END;
Этот пример присвоит значение. Аналогично его можно прочитать. Если же не хочешь ScanLine, а хочешь Pixels[x,y], то можешь использовать функции:
GetRValue(Color: TColor)
GetGValue(Color: TColor)
GetBValue(Color: TColor)
Так вот.