Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с графикой [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)

Так вот.


Наверх

Титульная страница Поиск, карта сайта Написать письмо