PDA

Просмотр полной версии : Сохранение картинки


timedo
11.06.2013, 01:57
Хочу сделать что б сохранялась картинка, но сохраняется вся сцена. У меня к примеру на сцене дерево, с лева выбираешь яблоко которое появляется на сцене, потом это яблоко можно куда хочь вставлять и трансформировать, как мне сохранить только дерево с яблоком?
Код:

import com.ryan.geom.*;

apple.addEventListener(MouseEvent.CLICK, createNewapple); //яблоко
save.addEventListener(MouseEvent.CLICK, savepic); //сохранение

function createNewapple(event:MouseEvent):void
{
apple.removeEventListener(MouseEvent.CLICK, createNewapple);
var newApple:Apple = new Apple();
apple.parent.addChild(newApple);

var freeTransformManager:FreeTransformManager = new FreeTransformManager();
freeTransformManager.boundingBoxOutlineColor = 0xff0000;
freeTransformManager.boundingBoxOutlineThickness = 2;
freeTransformManager.handleFillColor = 0xff0000;
freeTransformManager.handleOutlineColor = 0xff0000;
freeTransformManager.handleRadius = 6;

freeTransformManager.registerSprite(newApple,{minScale:0.1,maxScale:4});
}

function savepic(event:MouseEvent):void {
var raw:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
raw.draw(stage);
var brr:ByteArray = PNGEncoder.encode(raw);
var fil:FileReference = new FileReference();
fil.save(brr, "image.png");
}

Inet_PC
11.06.2013, 10:47
Нужно положить Ваше дерево и яблоко в контейнер (sprite) и вместо отрисовки всего stage:
var raw:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
raw.draw(stage); отрисовывать только контейнер:
var raw:BitmapData = new BitmapData(container.width, container.height);
raw.draw(container);