Форум: "Media";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
ВнизЯркость Найти похожие ветки
← →
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 вся ветка
Форум: "Media";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.038 c