Главная страница
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.156 c
14-1123630646
IncRed
2005-08-10 03:37
2005.09.04
Как зарегистрироваться на RSDN.Ru


4-1121333677
Prov
2005-07-14 13:34
2005.09.04
DM5


1-1124135721
Aleksandrrr
2005-08-15 23:55
2005.09.04
графика в консольном приложении


4-1121415380
volser
2005-07-15 12:16
2005.09.04
Drag&amp;Drop на API в ListView


1-1123740259
lordverd
2005-08-11 10:04
2005.09.04
RichEdit и блокирование объектов