![]() |
|
||||||||||
|
|||||
|
[+1.3 07.12.11]
Регистрация: Feb 2011
Сообщений: 121
|
Всем доброго времени суток!
Вопрос: Есть грейскэйл и сама картинка. Фон картинки(который не должен отображаться) черный. Как сделать фон прозрачным? Перепробовал все варианты BlеndMode, даже те что по логике не подходят... ничего не получается, либо выводится грейскэйл, либо сама картинка, либо все цвета складываются и получается чушь полная... либо я делаю все не так. Просто, раньше работал на С++ с движком HGE... и там все просто... альфабленд, мул, эдд... и т.д., а тут... или тут все по-другому делается и не нужен грейскэйл? |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
У вас нету фона. У вас есть грейскейл и сама картинка. Или таки есть ещё треться картинка-фон? Или вы что-то хотите сделать с первыми двумя? Поставить картинке альфа канал от грейскейла? Тогда copyChannel. Лучше использовать пнг сразу с нужным альфа каналом (и выкинуть грейскейл). Или ещё что-то не с грейскелом, а с нужным альфа каналом, тогда сработает BlendMode.ALPHA.
PS: тема не раскрывает сути вопроса
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
[+1.3 07.12.11]
Регистрация: Feb 2011
Сообщений: 121
|
Прошу прощения за некорректно поставленный вопрос.
Есть грейскэйл, есть картинка с шариком. Сама картинка квадратная. Шарик шариком, а все остальное - черного цвета. Так вот, надо было чтобы черный цвет не отображался. Сейчас попробую ваше пожкспериментировать с тем что вы посоветовали... |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Делаете картинку-"маску" с изображением альфа-канала, прозрачные области - черным, непрозрачные - белым, полупрозрачности соответственно оттенки серого. Копируете любой канал из маски (они будут одинаковые, кроме альфы конечно) в альфа-канал картинки с шариком, и дело в шляпе.
__________________
Reality.getBounds(this); |
|
|||||
|
[+1.3 07.12.11]
Регистрация: Feb 2011
Сообщений: 121
|
ай, елки-палки... хотел же так попробовать... но то что мы можем брать любой канал(кроме альфы)...подумал что это не совсем красивый вариант(т.е., сегодня один канал, завтра другой... по-настроению)... думал мож есть что-то из разряда крекс-пекс-фекс...
Ок... всем огромное спасибо!!! |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
|
Lorem ipsum
|
И все же черный кантик у шарика может остаться. Зависит от "мягкости" края.
__________________
Поймай яблоко 2! |
|
|||||
|
[+1.3 07.12.11]
Регистрация: Feb 2011
Сообщений: 121
|
Цитата:
))) блин... че сказал? ))) У меня еще есть вопрос... но это уже в другом посте(про анимацию) З.Ы. ща буду мучить вас )) |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Иногда надо просто забыть о красках и холсте и понимать битмапдату, как она есть - просто массив чисел. Если изображение грейскейл, это означает что все пиксели в нем имеют равное значение каналов R, G, и B. Поэтому нет разницы, какой из трех одинаковых массивов Вы будете использовать. Если очень хочется только зеленый – ни в чем себе не отказывайте, можно даже нарисовать маску только зеленым. Это ничего не меняет. Маска здесь – не изображение, это массив данных.
__________________
Reality.getBounds(this); |
|
|||||
|
[+1.3 07.12.11]
Регистрация: Feb 2011
Сообщений: 121
|
)))) да я понимаю все это... просто... для меня не совсем красиво когда варианты одинаковые... для меня красиво когда либо жестко один вариант, либо куча вариантов, но тогда чтобы и результаты были разные ))))))))))
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|