![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2013
Сообщений: 47
|
Я пытаюсь сделать маску при помощи битмапы, т.е. имеет такую форму.
![]() Все что не белого цвета прозрачно. Так применяя такую маску она обрезает прямоугольник вместо такой формы. Можно ли как это реализовать? Примитивами вряд ли получится сделать такую маску. Вот исходный код package { import flash.display.Bitmap; import flash.display.Sprite; [SWF(width="960", height="640", frameRate="60", backgroundColor="0x4a4137")] public class Main extends Sprite { [Embed(source="jack.jpg")] private var PhotoImg:Class; [Embed(source="faceArea.png")] private var FaceAreaImg:Class; private var _imageBox:Sprite; public function Main() { createMask(); } private function createMask():void { var img:Bitmap = new PhotoImg(); _imageBox = new Sprite(); _imageBox.x = 0; _imageBox.y = 0; _imageBox.addChild(img); addChild(_imageBox); var faceArea:Bitmap = new FaceAreaImg(); faceArea.x = 50; faceArea.y = 50; addChild(faceArea); _imageBox.mask = faceArea; } } } |
|
|||||
|
Регистрация: Nov 2013
Сообщений: 47
|
большое спасибо. То что нужно. А можно ли в будущем вырезать картинку по этой форме?
|
|
|||||
|
Смотрите в сторону копирования каналов. http://help.adobe.com/ru_RU/FlashPla...#copyChannel()
Суть в том, что в картинку можно скопировать любой канал (красный, синий, зелёный, альфа) из другой картинки. Или просто сделать draw объекта (контейнера), в котором лежит картинка с применённой к ней маской. Последний раз редактировалось samana; 12.11.2013 в 20:17. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|