Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Альфа-канал (http://www.flasher.ru/forum/showthread.php?t=170037)

imena 17.10.2011 13:00

Альфа-канал
 
Всем доброго времени суток!

Вопрос: Есть грейскэйл и сама картинка. Фон картинки(который не должен отображаться) черный. Как сделать фон прозрачным? Перепробовал все варианты BlеndMode, даже те что по логике не подходят... ничего не получается, либо выводится грейскэйл, либо сама картинка, либо все цвета складываются и получается чушь полная... либо я делаю все не так.

Просто, раньше работал на С++ с движком HGE... и там все просто... альфабленд, мул, эдд... и т.д., а тут... или тут все по-другому делается и не нужен грейскэйл?

-De- 17.10.2011 13:17

У вас нету фона. У вас есть грейскейл и сама картинка. Или таки есть ещё треться картинка-фон? Или вы что-то хотите сделать с первыми двумя? Поставить картинке альфа канал от грейскейла? Тогда copyChannel. Лучше использовать пнг сразу с нужным альфа каналом (и выкинуть грейскейл). Или ещё что-то не с грейскелом, а с нужным альфа каналом, тогда сработает BlendMode.ALPHA.

PS: тема не раскрывает сути вопроса

imena 17.10.2011 22:22

Прошу прощения за некорректно поставленный вопрос.
Есть грейскэйл, есть картинка с шариком. Сама картинка квадратная. Шарик шариком, а все остальное - черного цвета. Так вот, надо было чтобы черный цвет не отображался.
Сейчас попробую ваше пожкспериментировать с тем что вы посоветовали...

Wolsh 17.10.2011 23:25

Делаете картинку-"маску" с изображением альфа-канала, прозрачные области - черным, непрозрачные - белым, полупрозрачности соответственно оттенки серого. Копируете любой канал из маски (они будут одинаковые, кроме альфы конечно) в альфа-канал картинки с шариком, и дело в шляпе.

imena 18.10.2011 00:43

ай, елки-палки... хотел же так попробовать... но то что мы можем брать любой канал(кроме альфы)...подумал что это не совсем красивый вариант(т.е., сегодня один канал, завтра другой... по-настроению)... думал мож есть что-то из разряда крекс-пекс-фекс...
Ок... всем огромное спасибо!!!

Wolsh 18.10.2011 01:10

Цитата:

можем брать любой канал(кроме альфы)
Не ну пожалуйста, можете брать альфа-канал конечно, только тогда в чем выигрыш-то: придется делать для "маски" png-24 с альфа-каналом, а это заметно тяжелее, чем простой джипег или даже гиф с, например, восемью цветами (или сколько там градаций альфы Вы хотите). Как бы смысл этой технологии был изначально именно в экономии, две ужатые джипежки весили меньше чем один пинг24 без потерь и с альфаканалом (чем больше полупрозрачных областей, тем тяжелее пинг). Когда-то это было очень важно, в эпоху модемов))

Zebestov 18.10.2011 01:25

И все же черный кантик у шарика может остаться. Зависит от "мягкости" края.

imena 18.10.2011 03:23

Цитата:

Сообщение от Wolsh (Сообщение 1039965)
Не ну пожалуйста, можете брать альфа-канал конечно, только тогда в чем выигрыш-то: придется делать для "маски" png-24 с альфа-каналом, а это заметно тяжелее, чем простой джипег или даже гиф с, например, восемью цветами (или сколько там градаций альфы Вы хотите). Как бы смысл этой технологии был изначально именно в экономии, две ужатые джипежки весили меньше чем один пинг24 без потерь и с альфаканалом (чем больше полупрозрачных областей, тем тяжелее пинг). Когда-то это было очень важно, в эпоху модемов))

Не-не... , видимо, я снова не так выразился.... ваш вариант меня устраивает... я о другом... я о том что.... ммм.. нууу... сегодня пешеходы переходят улицу на зеленый свет, завтра на желтый... какая разница на какой(это о том что мы берем любой канал...неважно какой).... главное что это цветной свет... а я искал способ чтоб разрешалось ТОЛЬКО на зеленый.

))) блин... че сказал? )))

У меня еще есть вопрос... но это уже в другом посте(про анимацию)

З.Ы. ща буду мучить вас ))

Wolsh 18.10.2011 03:38

Иногда надо просто забыть о красках и холсте и понимать битмапдату, как она есть - просто массив чисел. Если изображение грейскейл, это означает что все пиксели в нем имеют равное значение каналов R, G, и B. Поэтому нет разницы, какой из трех одинаковых массивов Вы будете использовать. Если очень хочется только зеленый – ни в чем себе не отказывайте, можно даже нарисовать маску только зеленым. Это ничего не меняет. Маска здесь – не изображение, это массив данных.

imena 18.10.2011 03:55

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


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

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