![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2006
Сообщений: 453
|
Как можно в BitmapData вырезать прозрачный круг?
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 453
|
in4core, как в битмап можно?
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
bitmapData.draw() + BlendMode.ERASE ?
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 453
|
BlendMode не могу применить, в GPU он не работает
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Я, в смысле, отрисовать круг на вашей дате с параметром "erase".
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 453
|
работает, но почему-то края получаются зубъями
Последний раз редактировалось 54321go; 24.06.2015 в 13:49. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
http://stackoverflow.com/questions/7...-apply-to-anot
Добавлено через 3 минуты Можно попробовать взять одну битмапу в качестве альфа-маски (сделать плавный переход градиентом от прозрачного к непрозрачному) и копировать альфа-канал туда, где надо вырезать прозрачный круг. ps: Хотя, возможно, оно и без градиента без зубьев получится. |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 453
|
этот пример просто объеденяет а не вырезает
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
import flash.display.BitmapData; import flash.display.DisplayObject; import flash.display.Bitmap; var canvasBMD:BitmapData = new BitmapData(300, 300, true, 0xFF00FF00); var circle:DisplayObject = new Circle(); var circleBMD:BitmapData = new BitmapData(circle.width, circle.height, true, 0x00000000); circleBMD.draw(circle); canvasBMD.copyChannel(circleBMD, new Rectangle(0, 0, circle.width, circle.height), new Point(), BitmapDataChannel.ALPHA, BitmapDataChannel.ALPHA); var canvas:Bitmap = new Bitmap(canvasBMD); addChild(canvas); Результат. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|