Большое спасибо за то, что нашли время предложить свои знания, это было более чем полезно. Код, который вы мне дали, отлично работал с одним исключением. переменная "holder" должна быть объявлена вне функции. Я получил немного ошибки доступа, но когда я поместил ее вне функции, она работала просто отлично.
Во всяком случае, я расширил код, добавив возможность сохранения. Я просто поместил мувиклип на сцену с именем экземпляра «saveButt_mc». Затем добавлена возможность сохранения с помощью fileReference. Моя цель - сделать так, чтобы он автоматически сохранялся на сервере с помощью php, но сейчас это нужно сделать.
Вот мой окончательный код, еще раз спасибо за помощь.
-Д
package
{
import flash.display.MovieClip;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.*;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.utils.ByteArray;
import flash.display.Sprite;
import flash.net.FileReference;
import flash.net.FileFilter;
import com.adobe.images.PNGEncoder;
public class imageComposite extends MovieClip
{
var images:Array = ["koala.png","koala2.png"];//two images
var holder:Sprite = new Sprite();
public function imageComposite()
{
// constructor code
addChild(holder);
var thumbLoader:Loader;
for (var i:uint = 0; i < images.length; i++)
{
thumbLoader = new Loader ;
thumbLoader.load(new URLRequest(("assets/" + images[i])));
holder.addChild(thumbLoader);
}
//thumbLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, bmpData);
saveButt_mc.addEventListener(MouseEvent.CLICK, bmpData);
addChild(saveButt_mc);
saveButt_mc.buttonMode = true;
}
//need contentLoaderInfo to access loader data;
public function bmpData(evt:Event):void
{
var bitmapData:BitmapData = new BitmapData(holder.width,holder.height,false);
bitmapData.draw(holder);
var byteArray:ByteArray = PNGEncoder.encode(bitmapData);
var file:FileReference = new FileReference();
file.save(byteArray, "newImage.jpg");
trace("Event was completed successfully!");
}
}
}