Главная страница
    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.46 MB
Время: 0.007 c
11-86327
Bartov
2003-04-03 01:53
2003.12.26
KOL+VCL


1-86342
Rip
2003-12-12 19:41
2003.12.26
Смена глифа на кнопках


14-86525
SergP
2003-12-01 22:46
2003.12.26
Помогите написать Select


14-86490
Dmitriy O.
2003-12-04 08:29
2003.12.26
Пьяный за рулем !


14-86547
race1
2003-12-02 14:26
2003.12.26
wmvare and drivers





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский