Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Превращение картинки в ч/б как в winXP

2.1K
13 июля 2005 года
ADanilov
33 / / 15.10.2004
Народ кто-нибудь знает как в программе сделать из цветной картинки ч/б с плавным переходом как в windows xp при нажитии "завершение работы"?
362
14 июля 2005 года
_kolyan
339 / / 03.12.2002
Честно сразу скажу я сам такого не делал, но если бы мне приспичило, то попробовал бы сначала такой вариант: Можно вычислить среднее по каналам R, G и B для каждого пикселя. Это будет то серый цвет который пиксель должен приобрести в конце. Например RGB(240,10,150) -> RGB(133,133,133) (240+10+150)/3~133. Эксперементально можно определить насколько это среднее нужно сместить вверх или вниз, если цвет не устроит. Потом определить число шагов, за которое тебуется достичь этого цвета, например 10 и определить шаг изменения по каждому каналу. для каждого пискселя. Проще всего эти шаги сохранить в отдельном изображении. (11,12,1) для нашего пискселя. Еще нам понадобится матрица знаков для каждого канала каждого пискселя, которая будет определять, что нужно сделать с шагом, в нашем случае (0,1,0) 0 - отнять, 1 - прибавить. Ну далее циклически изменять исходное изображение каждый раз на шаг.

Сразу предупреждение: если все это делать при помощи свойства Pixels[j], то будет сильно тормозить

Вот это тупо, влоб, первое, что пришло в голову. Но главое же начать :-)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог