Вниз
Скачать: CL | DM;

Яркость   Найти похожие ветки 

 
Shadow ©   (2003-11-02 17:20) [0]

Как изменить яркость картинки? (TImage)


 
Mihey ©   (2003-11-02 17:35) [1]

Вроде как в D6/D7 есть модуль GraphUtil и тогда можно использовтаь функцию (для одного пикселя):
function ColorAdjustLuma(clrRGB: TColor; n: Integer; fScale: BOOL): TColor;

А также качай пример (для D3-5, на примере обработки целого изображения):
http://www.efg2.com/Lab/Library/Delphi/Graphics/ChangeBrightness.ZIP

Или же юзай Envision Image Library, можно тут скачать:
http://www.hot.ee/compcoll/vcl.htm


 
Maxud ©   (2003-11-02 17:42) [2]

Может это то, что нужно:


function Lighter(Color:TColor; Percent:Byte):TColor;
var
r, g, b: Byte;
begin
Color:=ColorToRGB(Color);
r:=GetRValue(Color);
g:=GetGValue(Color);
b:=GetBValue(Color);
r:=r+muldiv(255-r,Percent,100); //процент% увеличения яркости
g:=g+muldiv(255-g,Percent,100);
b:=b+muldiv(255-b,Percent,100);
result:=RGB(r,g,b);
end;


То есть, для каждого цвета Color картинки нужно изменить яркость на Percent процентов.

P.S. Сам не проверял, проверишь - расскажешь :)


 
Shadow ©   (2003-11-02 18:05) [3]


> А также качай пример (для D3-5, на примере обработки целого
> изображения):
> http://www.efg2.com/Lab/Library/Delphi/Graphics/ChangeBrightness.ZIP

Вот это помогло. Спасибо!


> Maxud © (02.11.03 17:42) [2]

Такой алгоритм я и сам придумал, но он очень медленный


 
Shadow ©   (2003-11-02 18:53) [4]


> http://www.efg2.com/Lab/Library/Delphi/Graphics/ChangeBrightness.ZIP


Блин, все равно медленно...


 
Dimaxx ©   (2003-11-02 23:49) [5]

Тогда тоже самое, но через Bitmap.Scanline. Будет быстро...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
4-42282
Stas
2003-09-10 15:44
2003.11.13
Свойства TWin32FindData


14-42002
Soft
2003-10-17 04:26
2003.11.13
Игры... которые убивают.


1-41685
Egorr
2003-10-24 21:57
2003.11.13
Delphi && URL


8-41751
alois
2003-07-09 19:02
2003.11.13
Случайный порядок воспроизведения


3-41026
kaif
2003-10-15 15:47
2003.11.13
Толку от UDF RAND() ?




   Наверх