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

Вниз

Эффект увядания   Найти похожие ветки 

 
pasha_golub ©   (2003-12-01 14:06) [0]

Есть допустим .bmp изображение в цвете, требуется плавно перевести его градации серого.
То есть


function RgbToGray(RGBColor : TColor) : TColor;
var
Gray : byte;
begin
Gray := Round((0.30 * GetRValue(RGBColor)) +
(0.59 * GetGValue(RGBColor)) +
(0.11 * GetBValue(RGBColor )));
Result := RGB(Gray, Gray, Gray);
end;
begin
...
with TBitmap.Canvas do
Pixels[i,j] := RgbToGray(Pixels[i,j])
...
end.

Так я получу конечный рузультат в градациях серого.

Вопрос, как это сделать плавно и какие должны быть промежуточные цвета?


 
pasha_golub ©   (2003-12-01 14:07) [1]

То есть "плавно" в смысле анимационно, в течении некоего интервала.


 
mfender ©   (2003-12-01 14:09) [2]

Это все ерунда. Я вот думаю, как бы мне градиентное размытие устроить.....


 
mfender ©   (2003-12-01 14:10) [3]

Откуда такиее цифры?


 
pasha_golub ©   (2003-12-01 14:10) [4]

2mfender
Дык, подскажи, если ерунда. А градиентное это какое? Гауссово знаю и все :-)


 
pasha_golub ©   (2003-12-01 14:11) [5]

2mfender
Из FAQ"a, утверждается, что такие стандарты используются в телевидении http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988625272&n=21


 
Кот Бегемот ©   (2003-12-01 14:12) [6]

Паша :)
А рассчитать самому слабО ???
1.0 - 0.30 * GetRValue(RGBColor)
1.0 - 0.59 * GetGValue(RGBColor)
1.0 - 0.11 * GetBValue(RGBColor)
и поделить на кол-во итераций


 
pasha_golub ©   (2003-12-01 14:14) [7]

2Кот Бегемот
Дык, а пока вопрос не задашь в голове не прояснится (с) Я

Спасибо, уже сам допер. :-))


 
mfender ©   (2003-12-01 14:16) [8]


> pasha_golub © (01.12.03 14:10) [4]
> Дык, подскажи, если ерунда. А градиентное это какое? Гауссово
> знаю и все :-)


Дак вот. Градиент, понимаю, Вам понятен. А таким же образом размытие Гауссово слабо? Т.е. от (берем аналогию от Photoshop) 34% до 0%? Каково? Это Вам не БД писать!


 
pasha_golub ©   (2003-12-01 14:21) [9]

2mfender
Не не знаю, не умею. БД писать, кстати, - тоже не пасочки лепить, хотя я энто редко делаю. :-))


 
mfender ©   (2003-12-02 12:32) [10]


> pasha_golub © (01.12.03 14:21) [9]
> 2mfender
> Не не знаю, не умею. БД писать, кстати, - тоже не пасочки
> лепить, хотя я энто редко делаю. :-))


Не спорю. Пытался тоже. :))


 
Кот Бегемот ©   (2003-12-03 11:19) [11]

Паша :) - вчера случайно наткнулся в книжке (Юань Фень "Программирование графики")

Взвешенное соотношение для RBG такое
0.299 * R + 0.587 * G + 0.114 * B

а еще он рекомендует пользоваться целочисленным алгоритмом

gray = (77 * R + 150 * G + 29 * B + 128) div 256;


 
pasha_golub ©   (2003-12-03 12:39) [12]

2Кот Бегемот
Спасибочки. Блин, где б мне такую книженцию взять?



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

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

Наверх




Память: 0.49 MB
Время: 0.021 c
4-86599
Zeqfreed
2003-10-17 19:37
2003.12.26
Как отловить нажатия клавиш клавы неактивным приложением?


1-86359
Talla2k
2003-12-12 12:50
2003.12.26
shellAPI(с блокнотом)


3-86251
Evyshka
2003-12-03 08:39
2003.12.26
Что лучше использовать?


11-86327
Bartov
2003-04-03 01:53
2003.12.26
KOL+VCL


3-86261
Term
2003-12-03 16:37
2003.12.26
Теоретический вопрос безопасности в IB, FB