![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Контрастность и яркость картинки [D7, WinXP]
Katy © (2005-04-20 18:54:00)Нужно сделать средствами Delphi кариночку JPG или BMP ярче или темнее.
Кто-нибудь знает как?
Katy (2005-04-21 10:01:00) [1]СПАСИБО ОГРОМНОЕ :-)
Магнитоныч (2005-04-20 23:08:00) [2]Я знаю.
procedureRGBColors(Bitmap: TBitmap; nr, ng, nb: Byte);
functionBLimit(B: Integer): Byte;
begin
ifB < 0 thenResult := 0
else ifB > 255 thenResult := 255
elseResult := B;
end;
varx, y: Integer;
Dest: pRGBTriple;
begin
Bitmap.PixelFormat := pf24Bit;
fory := 0 toBitmap.Height - 1 do begin
Dest := Bitmap.ScanLine[y];
forx := 0 toBitmap.Width - 1 do begin
withDest^ do begin
rgbtBlue := BLimit(rgbtBlue + nb);
rgbtGreen := BLimit(rgbtGreen + ng);
rgbtRed := BLimit(rgbtRed + nr);
end;
Inc(Dest);
end;
end;
end;
К примеру:
Светлее RGBColors(Bmp, 50, 50, 50);
Темнее RGBColors(Bmp, -50, -50, -50);
Katy (2005-04-20 18:55:00) [3]Светлее или темнее :-)