![]() |
|
||||||||||
|
|||||
|
[+4 11.07.10]
Регистрация: Jun 2010
Сообщений: 9
|
Возможно, на этот или подобный вопрос уже отвечали, но как его сформулировать для поиска я не знаю.
Дано изображение с альфа-каналом. Для простоты, пусть оно будет не цветное. Для еще большей простоты пусть даже будет не градациями серого, а просто ч/б, но с байтовым альфаканалом. Но это для простоты понимания проблемы, но не более того. Задача: поменять цвет изображения. Что я тут понимаю под сменой цвета: надо поменять цвет в rgb-каналах и отмасштабировать альфу для каждого пикселя. Пример: был пиксель 255, 255, 255, 128. Применяем к нему смену цвета на: 128,128,128,128. Итоговый цвет пикселя должен быть таковым: 128, 128, 128, 64. Цвет в примере задан в формате RGBA. Пробую сформулировать задачу еще раз: Сначала нужно залить всё изображение прямоугольником, цвет которого задан, а заливка должна происходить умножением. Т.е. умножаем цвет исходного пикселя на цвет прямоугольника. Надеюсь, понятно объяснил суть. Добавлено через 14 минут Черт, кажется, нашёл то, что мне нужно ![]() Насколько я понял, решение следующее: Когда нам нужно куда-то перекопировать BitmapData, изменив цвет или еще что-либо, мы можем сделать Draw, который и отрендерит один BitmapData в другой. В этой функции есть параметр ColorTransform, который и отвечает за то, что я хочу. Интересно, как быстро оно всё работает?.. Добавлено через 34 минуты И еще спрошу: стандартных функций в ActionScipt по переводу цвета из RGBA формата в его uint нету, что ли? В принципе-то, дело не сложное, просто будет странно узнать, что такую функцию не впихнули в станд. поставку. |
|
|||||
|
Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
|
__________________
Пока я жив, Вы горем обеспечены |
|
|||||
|
[+4 11.07.10]
Регистрация: Jun 2010
Сообщений: 9
|
Цитата:
|
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
как это не то?
|
|
|||||
|
Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
|
это как раз то что ты описал что тебе нужно, а ColorMatrix
как раз для таких вещей, ты главное правильно его используй, но перед использованием разберись как он работет
__________________
Пока я жив, Вы горем обеспечены |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
сорри, я в начале подумал, что речь идет про ColorMatrixFilter - вот это то, что нужно автору. А ColorMatrix просто использует возможности ColorMatrixFilter
|
|
|||||
|
[+4 11.07.10]
Регистрация: Jun 2010
Сообщений: 9
|
Использовал ColorTransform в системе частиц. Почему вы рекомендуете именно ColorMatrixFilter?
Добавлено через 6 минут Цитата:
|
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
мне тоже лень сравнивать. В документации про ColorMatrixFilter помнится писалось про процессорную оптимизацию типа SSE2 или еще чего. Вот и есть такая мысль, что ColorMatrixFilter пошустрее будет.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:46. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|