Главная страница
    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.009 c
3-86320
Frag
2003-11-29 14:00
2003.12.26
Загрузка из Excel`я в StringGrid боольшой таблицы


14-86507
MYSTERYO
2003-12-03 23:42
2003.12.26
СРОЧНО: WinXp, после нескольких выкл. компа сетевуха отключается


1-86348
MakNik
2003-12-12 15:23
2003.12.26
CheckBox


1-86428
snoup
2003-12-14 00:52
2003.12.26
Вот код


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





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