Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
14-86543
Думкин
2003-12-03 06:07
2003.12.26
С днем рождения! 3 декаабря.


1-86350
Aster-X
2003-12-10 22:52
2003.12.26
Incompatible types: Array and String


4-86591
Woolen
2003-10-30 10:05
2003.12.26
Определение папки с файлами для записи компакт-диска


1-86441
Stefan
2003-12-13 13:59
2003.12.26
Как удалить пункт из меню ?


1-86356
Sash
2003-12-12 14:20
2003.12.26
XPManifest





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский