Главная страница
    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
1-86359
Talla2k
2003-12-12 12:50
2003.12.26
shellAPI(с блокнотом)


1-86440
Jelet
2003-12-12 17:20
2003.12.26
отобразить RTF


14-86554
Nelud
2003-11-28 18:07
2003.12.26
Можно ли/нужно ли помочь человеку который сам себе помочь


3-86268
ki11er
2003-12-03 14:12
2003.12.26
Как записать запрос в таблицу?


1-86369
Vadim S
2003-12-15 17:02
2003.12.26
RXDateEditAcceptDate( в RXLIb





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