Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.04;
Скачать: CL | DM;

Вниз

Контрастность и яркость картинки   Найти похожие ветки 

 
Katy ©   (2005-04-20 18:54) [0]

Нужно сделать средствами Delphi кариночку JPG или BMP ярче или темнее.
Кто-нибудь знает как?


 
Katy ©   (2005-04-20 18:55) [1]

Светлее или темнее :-)


 
Магнитоныч   (2005-04-20 23:08) [2]

Я знаю.

procedure RGBColors(Bitmap: TBitmap; nr, ng, nb: Byte);

 function BLimit(B: Integer): Byte;
 begin
   if B < 0 then Result := 0
     else if B > 255 then Result := 255
       else Result := B;
 end;

var x, y: Integer;
   Dest: pRGBTriple;
begin
 Bitmap.PixelFormat := pf24Bit;
 for y := 0 to Bitmap.Height - 1 do begin
   Dest := Bitmap.ScanLine[y];
   for x := 0 to Bitmap.Width - 1 do begin
     with Dest^ 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-21 10:01) [3]

СПАСИБО ОГРОМНОЕ :-)



Страницы: 1 вся ветка

Текущий архив: 2005.09.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
4-1121182970
Volumer
2005-07-12 19:42
2005.09.04
Повторный запуск


9-1115816373
-=Alecsey=-
2005-05-11 16:59
2005.09.04
Графы


1-1123873087
Андрей Молчанов
2005-08-12 22:58
2005.09.04
ParamStr c двойными пробелами


4-1121350719
Narik
2005-07-14 18:18
2005.09.04
уничтожить процесс?


14-1123360358
mmms
2005-08-07 00:32
2005.09.04
Лицензия от Delphi 2005 Professional