|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Отрисовка дисплей объекта в BitmapData
Мне нужно как-то отрисовать объект типа starling.display.Image в BitmapData. Вот метод для отрисовки
public static function copyToBitmapData(displayObject:DisplayObject, scale:Number = 1.0):BitmapData { var bounds:Rectangle = new Rectangle(); displayObject.getBounds(displayObject, bounds); trace(bounds); var stage: Stage = Starling.current.stage; var renderSupport: RenderSupport = new RenderSupport(); renderSupport.clear(); renderSupport.scaleMatrix(scale, scale); renderSupport.setProjectionMatrix(0, 0, stage.stageWidth, stage.stageHeight); renderSupport.translateMatrix(-bounds.x, -bounds.y); // move to 0,0 displayObject.render(renderSupport, 1.0); renderSupport.finishQuadBatch(); var outBmp:BitmapData = new BitmapData(bounds.width * scale, bounds.height * scale, true); Starling.context.drawToBitmapData(outBmp); return outBmp; } Пробовал перед отрисовкой менять размеры вьюпорта и сцены на размер моего дисплей объекта, а после восстанавливать. Бестолку. Все так же. Все равно режется по размеру сцены. Может кто-нибудь уже решал эту проблему? |
|
|||||
Экспериментировал как-то с AGAL и drawToBitmapData, как и при использовании renderToTexture рисуется всё то, что есть на экране, следовательно надо добиться что-бы объект полностью помещался на экран (методом научного тыка), а затем рисовать его в BitmapData.
Цитата:
__________________
Гоночка |
|
|||||
Цитата:
А проблема оказалась в том, что это ограничения режима baselineContrained. Надо менять на baselineExtended или baseline. Но тут сразу есть еще одна загвоздка. Дэниэл (главный разработчик старлинга), почему-то решил, что ограничит размер вьюпорта размерами сцены для всех режимов (просто чуваку так захотелось, он именно это в комментарии внутри движка и написал), хотя требуется это только для режима бейслайн констрейнд. Так что без правки кода старлинга и смены режима отрисовки не обойтись Но я уже подумываю а стоит ли оно того. Мою задачу можно выполнить на чистом флеше, а потом просто готовую битмапу взять и конвертнуть в Image. Скорее всего так завтра и сделаю. |
|
|||||
Lorem ipsum
|
Если мсье желает поизвращаться, можно сделать несколько отрисовок, меняя координаты объекта — скакать иксом и игреком на ширину и высоту экрана потом склеить.
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 18:25. |
|
« Предыдущая тема | Следующая тема » |
|
|