![]() |
|
![]() ![]() ![]() |
|
iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: нет Всего: 16 |
надо сделать три вещи:
1)наложить 2 изображения 2)сделать изображение чёрнобелым 3)сделать такай эффект, как будто изображение просматривается через цветной светофильтр Итак, 1-ая задача я написал код (здесь изображение Picture1 и Picture2 накладываются друг на друга и выводятся на Picture3:
Таймер используется потому, что если реализовать это циклом программа зависает на время его исполнения (интервал таймера=1) В общем в 8-ой строчке нужно помянять вырожение, определяющее цвет точки. Просто сложить не получается (образуются дикие яркие цвета). Ну со второй задочей я не знаю как справиться (незнаю какую операцию надо произвести со значением цвета, чтобы оно стало серого оттенка) С третьей задачей наверно нужно так: как в 1-ом случае наложить 2 картинки (исходное изображение и просто цвет светофильтра) -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
Akina |
|
||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
DoEvents()
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 7 Всего: 183 |
Обычно за значение "серости" принимают яркость исходного пиксела. Яркость можно рассчитать по такой формуле: B = (59*G + 30*R + 11*B)/100. -------------------- ... |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Зачем изобретать велосипед? тем более что любая формула по определению некорректна, зависит от цветовых профилей... чуть что - ты виноват... http://msdn.microsoft.com/ru-ru/library/sy...rtedbitmap.aspx - и все претензии к Майкрософту. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Pavia |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
Что-то я не заметил там применения цветовых профилей. А на претензиях далеко не уедешь. А формула верна она учитывает особенности глаза. Конечно не на все 100% А профили мы не всегда можем учесть, не во всех источниках он указан. А после обработки профиль меняется, а эо не учитывается. Так что я бы не стал так критично к этому относится. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
http://msdn.microsoft.com/ru-ru/library/sy...ts_members.aspx - указываем исходный и конечный PixelFormat, и хай его конвертирует. Достаточно поменять температуру дисплея, чтобы формула стала иной. Потому не зря этих формул существует несколько (коэффициенты близки, но плавают), и каждая из них является верной. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Pavia |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
Вы что цветовой профиль от формата пикселя отличить не можете? А дисплей то тут причем? Глаз по другому работать не будет. Как он воспринимал определенные частоты так и будет. Это при отображении надо учитывать особенности дисплея. А тут мы говорим о внутреннем представлении цвета с учетом особенности модели RGB. |
|||
|
||||
iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: нет Всего: 16 |
Дело в том, что я так и не понял где взять численные значения R, G, B? Как мне кажется, в визуал бэйсеке цвет обозначается одним шестнадцатиричным числом. Например: &H008080FF&(розовый), &H000000FF&(красный), &H00800080&(тёмно-фиолетовый). Такие числа нужно переделывать
А) в числа, обозначающие серый оттенок цвета (т.е. черно-белый) б) взять 2 таких числа (цвета), произвести над ними алгебраические операции и получить новое число, обозначающие такой цвет, какой бы получился при наложении 2 исходных цветов в) переделать (при помощи алгебраических операций) цвет в такой, который был бы таким, как будто его видно через светофильт (например через красный). Т.е. В этом случае белый превращается в красный, серый - в тёмно красный... В общем здесь нужно "подавить" все цвета кроме красного. Если бы цвет был в формате RGB, то всё было-бы просто (G и B равно нулю и всё) -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
ELie |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 16.9.2009 Репутация: нет Всего: нет |
конвертация изображения в ч/б с коэфициентами принятыми в телевидении
п.с. scalemode для пикчербоксов - пиксель |
|||
|
||||
iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: нет Всего: 16 |
Спасибо, на я уже решил эти 3 задачи. Честно говоря, я вообще не пользовался коэффициентами. Просто находил значение R, G, B, складывал их и делил на 3 (среднее арифметическое), затем и R, и G, и B равнялись полученному числу.
-------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |