![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: May 2014
Сообщений: 3
|
Ребят нужна помощь есть приложение рисовалка, после добавления картинки нужно что бы на ней можно было выполнять те же операции что и на полотне, а он ее просто добавляет как сделать что бы картинка оказалась полотном для рисования.
private function addHandler(e:MouseEvent):void { _fileRef = new FileReference(); _fileRef.addEventListener(Event.SELECT,onFileSelected); var imageTypeFilter:FileFilter = new FileFilter("Изображения (*.jpg, *.jpeg, *.png)","*.jpg;*.jpeg;*.png"); _fileRef.browse([imageTypeFilter]); // открывает окно диалога } private function onFileSelected(e:Event):void { // выбор файла _fileRef.addEventListener(Event.COMPLETE,onComplete); _fileRef.load(); } private function onComplete(e:Event):void{ var imageData:ByteArray = _fileRef.data; // загруженная картинка loader = new Loader(); loader.loadBytes(imageData); Add_btn.addEventListener(MouseEvent.MOUSE_UP, rz); ///canvas.overlay = loader; canvas.addChildAt((loader),0); // как тут присвоить ему параметры canvas ?? } function rz(e:Event):void { loader.width = 840; // нужная ширина loader.height = 550; // нужная высота //Add_btn.enabled = false; if ( loader.scaleX < loader.scaleY ) {loader.scaleY = loader.scaleX; loader.scaleX = loader.scaleY;} Add_btn.removeEventListener(MouseEvent.CLICK, onFileSelected); } |
|
|||||
|
Смотря как происходит у вас рисование.
Если полотно у вас векторное, то картинку надо положить под полотно. А если рисуете растром, то можно отрисовать картинку на полотне методом bitmapData#draw, либо скопировать пиксели bitmapData#copyPixels. |
|
|||||
|
Регистрация: May 2014
Сообщений: 3
|
Просто если положить картинку под полотно он рисует на ней, но сохраняет только параметры инструментов а картинку саму не сохраняет.
private function saveHandler(e:MouseEvent):void { // получение рисунка как BitmapData из полотна var canvasBmp:BitmapData = canvas.drawing(); // создаем новый объект JPG энкодера и конвертируем из BitmapData в JPG var pngEncoder:PNGEncoder = new PNGEncoder(); var pngStream:ByteArray = PNGEncoder.encode(canvasBmp); // проверяем что мы избавились от BitmapData объекта canvasBmp.dispose(); _fileRef = new FileReference(); _fileRef.save(pngStream, "graffiti_example_image.png"); } |
|
|||||
|
Регистрация: May 2014
Сообщений: 3
|
Хорошо, а как тогда загруженный файл добавить в один контейнер с canvas?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|