Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Pixel Bender/AGAL (http://www.flasher.ru/forum/forumdisplay.php?f=100)
-   -   Инструменты фотошопа, brightness (http://www.flasher.ru/forum/showthread.php?t=171668)

pavel___zzz 21.11.2011 17:16

Инструменты фотошопа, brightness
 
Здравствуйте!

Никто не сталкивался с проблемой воспроизведения инструментов фотошопа во флэше? Видимо, наиболее гибкое средство для этого - PixelBender

Я вот столкнулся... нужен Brightness, никак не выходит хорошо сделать

Zebestov 21.11.2011 17:28

С этой задачей отлично справится более быстрый ColorMatrix

pavel___zzz 21.11.2011 17:51

Спасибо, но это вроде не то. Эта штука сделает ярче, но не так как фотошоп. Кстати забавно: в самом Flash ID есть две различные регулировки яркости, которые по действию не сходятся ни между собой ни с фотошопом )

Zebestov 21.11.2011 17:56

Не подходит готовый инструмент? Бывает. Можно самому подобрать матрицу для достижения нужного эффекта.

pavel___zzz 21.11.2011 18:05

Боюсь, что с матрицей не выйдет вообще. Это ведь всего лишь линейное преобразование, ну т.е.

px.r = k1 * px.r + k2
px.g = k1 * px.b + k2
px.g = k1 * px.g + k2

ну только можно ещё делать k1 и k2 разные для разных цветов и делать цвета зависимыми друг от друга...

Кстати, тут есть ещё такое соображение: вроде как яркость удаётся воспроизвести кривыми, а кривые вроде как применяются независимо к каждому цветовому каналу. Если вышесказанное верно, то и при изменении яркости каналы не зависят друг от друга (хорошо, если хотя бы так).

P.S. Загвоздка в том, что изменить яркость можно каким угодно способом: умножить каждый конал на константу, добавить константу, извлечь корень, взять экспоненту, синус, да что угодно.... Всегда будет получаться ярче и всегда по-разному.
Только вот что именно делает фотошоп?

Добавлено через 25 минут
Мда, вот если бы фотошоп умел не только импортировать фильтры PixelBender, но и экспортировать их... уж ладно без исходников (может ноухау какое), но хотя бы байткод...

Добавлено через 1 час 9 минут
ещё вот, если кому-нибудь что-нибудь говорит:

brightness +70 очень похоже на

px.r = sin(0.5*PI*px.r);
px.g = sin(0.5*PI*px.g);
px.b= sin(0.5*PI*px.b);

но на другие значения brightness распространить это у меня не получается...

Zebestov 21.11.2011 19:17

Тут только гугл в помощь, если нужен в точности алгоритм работы Brightness/Contrast фотошопа.

alatar 21.11.2011 19:26

Цитата:

Мда, вот если бы фотошоп умел не только импортировать фильтры PixelBender, но и экспортировать их... уж ладно без исходников (может ноухау какое), но хотя бы байткод...
А если не закатывать мечтательно глаза, а уделить 20 секунд поиску, то...
http://www.kweii.com/site/color_theo...alculation.pdf

pavel___zzz 21.11.2011 20:51

Ладно, почитал...
Только не очень понятно, так что отсюда можно попробовать в качестве алгоритма, замещающего фотошоп?
Мне показалось, что более или менее подходящие по смыслу - преобразования в системах Lab и BCH. Но судя по таблицам и картинкам, они как раз не похожи на фотошоп. Остальные преобразования вроде вообще из другой оперы.

PS. Кстати тут же вспоминается пространство HSV (HSB), но оно вроде тоже не подходило, проверю ещё раз...

Добавлено через 9 минут
:) про поиск: извиняюсь, искал дня три, но этого документа не встречал, видимо потому, что искал яндексом

alatar 21.11.2011 21:26

Это первое что попалось.

Badim 05.12.2011 13:51

Если кому надо - я там мини класс класс описал, с кэшированием. Удобно для разработки игр в тч
http://theelitegames.net/badim/filters_example.png
http://blog.elite-games.net/blog5.ph...saturation-hue


Часовой пояс GMT +4, время: 22:18.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.