Я использую flash для разработки под ios и фреймворк starling. Я пытаюсь сделать снимок экрана, а затем сохранить его в фотопленку, но cameraRoll принимает только растровые данные. Как я собираюсь конвертировать спрайт в растровые данные? Бесконечно благодарен!!
iOS-разработка с фреймворком Starling: сделайте снимок экрана и сохраните его в фотопленку
Ответы (2)
Вы можете преобразовать Sprite
в BitmapData
с помощью BitmapData.draw() метод. здесь пример.
person
Art
schedule
09.05.2012
На самом деле, вы не можете использовать отрисовку для спрайта скворца. этот код работает для меня:
public static function copyAsBitmapData(displayObject:DisplayObject, transparentBackground:Boolean = true, backgroundColor:uint = 0xcccccc):BitmapData
{
if (displayObject == null || isNaN(displayObject.width)|| isNaN(displayObject.height))
return null;
var resultRect:Rectangle = new Rectangle();
displayObject.getBounds(displayObject, resultRect);
var result:BitmapData = new BitmapData(displayObject.width, displayObject.height, transparentBackground, backgroundColor);
var context:Context3D = Starling.context;
var support:RenderSupport = new RenderSupport();
RenderSupport.clear();
support.setOrthographicProjection(0, 0, Starling.current.stage.stageWidth, Starling.current.stage.stageHeight);
support.applyBlendMode(true);
support.translateMatrix( -resultRect.x, -resultRect.y);
support.pushMatrix();
support.blendMode = displayObject.blendMode;
displayObject.render(support, 1.0);
support.popMatrix();
support.finishQuadBatch();
context.drawToBitmapData(result);
return result;
}
person
Gui de Guinetik
schedule
02.07.2013