Форум: "Потрепаться";
Текущий архив: 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