Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
Задел! Ладно, опишу, как это делал, 03.10.02 05:28 Число просмотров: 1190
Автор: Zef <Alloo Zef> Статус: Elderman
|
может, кому пригодится.
Фотошоп можно трейсить даже не Айсом, а С++-ным дебагером. Дело в том, что плюгины для него - обычные ДЛЛ-ки, только переименованные. Если кому интересно, как их писать, смотрите Адобовсий СДК (кривой, как ятаган) и еще Редфилд (http://www.redfieldplugins.com/) шикарную статью написал (на русском), но, где она сейчас - не знаю, раньше у него на МТУ сайт был, а теперь он себе СОМовский сгородил. Так, вот - это плюгины через специальный интерфейс могут юзать ф-ции и данные из фотошоповского ЕХЕ-шника, типа преобразования цветов, непосредственного доступа к пиксельным матрицам и т.п.
Так, что - пишешь ДЛЛку, которая вызывает соответствующую ф-цию, ставишь на ее вызов бряк, открываешь ассемблерное окно и трейсишь внутрь Фотошопа со всеми удобствами VC-шного отладчика...
Ну, вот - меня всегда мучил вопрос: как в Фотошопе RGB преобразуется в LAB и обратно (это преобразование давало изрядные расхождения с известными формулами) - я и поковырял...
Оказывается: Никаких формул они сами вовсе не ипользуют!
Строят матрицы с шагом 16 по каждому каналу L(R, G, B), a(R, G, B), b(R, G, B), а промежуточные значения получают линейной интерполяцией!
Матрицы для любых преобразований можно получить элементарно: рисуешь картинку из 4096(если каналов 3) квадратиков разных цветов с шагом 16 в одном цветовом формате (через Колор Пикер), затем преобразуешь в другой формат и через тот же Колор Пикер считываешь значения для соответствующих каналов и переписываешь их в матрицы. Это, конечно несколько геморройно, но зато, гарантия полной совместимости с Фотошопом (при написании графического редактора это суперважно: на несовместимый редактор сетавая общественность даже смотреть не станет) и преобразование получается настолько быстрым, насколько это вообще возможно.
|
|
|