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

Вниз

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

 
seregka   (2005-03-30 19:28) [0]

Как изменять яркость изображения?


 
@!!ex   (2005-03-30 22:16) [1]

Яркость какого изображения?
Самый простой и универсальный способ изменить яркость - изменить R,G,B на одинаковое число, но надо следаить, чтобы не уменьшались меньше 0 и не увеличивались больше 255.


 
XProger ©   (2005-03-31 00:04) [2]


type
TRGB = array [0..1] of record
 R, G, B : Byte;
end;
PRGB = ^TRGB;

var
 bmp   : TBitmap;

procedure Fade(k: integer);
var
R, G, B : integer;
x, y    : integer;
p       : PRGB;
begin
for y := 0 to bmp.Height - 1 do
begin
p := bmp.ScanLine[y];
for x := 0 to bmp.Width - 1 do
 begin
 R := p[x].R + k;
 G := p[x].G + k;
 B := p[x].B + k;
 if R < 0 then R := 0;
 if G < 0 then G := 0;
 if B < 0 then B := 0;
 if R > 255 then R := 255;
 if G > 255 then G := 255;
 if B > 255 then B := 255;
 p[x].R := R;
 p[x].G := G;
 p[x].B := B;
 end;
end;
end;

procedure Init;
begin
bmp := TBitmap.Create;
bmp.PixelFormat := pf24bit;
bmp.LoadFromFile("C:\image.bmp");
end;

procedure Draw;
begin
Fade(-1);
Canvas.Draw(0, 0, bmp); // отрисовка на форму
end;

Картинка 1024х768
Процессор P4 2 Ггц
Без отрисовки на форму - 101 FPS
С отрисовкой на форму - 43 FPS


 
parovoZZ ©   (2005-03-31 06:37) [3]

А можно и с гаммой поиграть.


 
Gero ©   (2005-03-31 07:53) [4]

Нужно преобразовать цвет в HSB или Lab.
А там уже сменить яркость(причем только яркость) — раз плюнуть.


 
parovoZZ ©   (2005-03-31 09:00) [5]


> Gero ©   (31.03.05 07:53) [4]
> Нужно преобразовать цвет в HSB или Lab.
> А там уже сменить яркость(причем только яркость) — раз плюнуть.

Как так?


 
seregka   (2005-03-31 10:24) [6]

спасибо. работает чудесно


 
seregka   (2005-03-31 12:07) [7]

опа, новая проблем - контрастность.
Как ее решить по аналогии с яркостью


 
@!!ex   (2005-03-31 12:50) [8]

>XProger ©  
Я собственно это и имел ввиду. :)
>seregka
Я никогда не задавался подобным вопросом. :)
Помочь не могу. Алгоритм искать - времени нет.


 
Магнитон Борыч   (2005-03-31 18:39) [9]

http://delphibase.spb.ru/?action=viewfunc&topic=mediaimg&id=10449


 
seregka   (2005-03-31 18:56) [10]

Может я туплю. Но с этой процедурой если установить контрастность 30, а потом -30 картинки получатся разные.


 
Магнитон Борыч   (2005-03-31 21:00) [11]

А что ты хотел? :)


 
seregka   (2005-03-31 21:36) [12]

одинаковые хотел. Все граф. редакторы так работают. Хотя я подозреваю, что они исходную картинку хранят и новую операцию с ней делают, а нес ранеее модифицированной. Или я не прав?


 
Магнитон Борыч   (2005-03-31 23:49) [13]

>seregka  (31.03.05 21:36) [12]
>Хотя я подозреваю, что они исходную картинку хранят и новую операцию с ней делают, а нес ранеее модифицированной.

Естественно.


 
Eraser ©   (2005-04-02 17:55) [14]

seregka

Посмотри в сторону библиотеки FastLib там ОЧЕНЬ много различных граических эффектов реализовано... с открытым кодом естественно.


 
Магнитоныч   (2005-04-02 19:17) [15]

> Eraser ©  (02.04.05 17:55) [14]

Ну уж, таки очень.. :))


 
Eraser ©   (2005-04-02 20:10) [16]

Магнитоныч

Ну не фотошоп! )) но я когда увидел- удивился... можно небольшой графический редактор сделать...



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

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

Наверх




Память: 0.5 MB
Время: 0.043 c
1-1121669849
Alex_V
2005-07-18 10:57
2005.08.07
Ошибка при выполнении запроса...Что не так?


6-1114672921
SH@RK
2005-04-28 11:22
2005.08.07
Как c помощью WinInet закачать HTML страничку по адресу https://


3-1120301637
Cardinall
2005-07-02 14:53
2005.08.07
Как узнать работают ли пользователи с сервером


1-1121591340
Чайничек
2005-07-17 13:09
2005.08.07
Удаление в файле


1-1121630007
able
2005-07-17 23:53
2005.08.07
Перехват положения окна