Съемка сцены AS3 во Flash не работает должным образом 14

До обновления Flash до 14.0.0.125 моя кнопка "Сохранить" работала просто отлично, чтобы захватить сцену приложения моего браузера, теперь кнопка - полная неудача, я пробовал несколько обходных путей, но ничего не помогало. В Internet Explorer Chrome до IE или Firefox (поздние обновления Flash 13) он работал немного странно, но как только клиенты переключились на 14, он полностью перестал работать.

По сути, смысл того, что я пытаюсь сделать, - это кнопка, которая захватывает сцену, а затем позволяет пользователю сохранить сцену в виде изображения JPEG. Как я уже говорил, это работало до ~2 месяцев назад, а теперь, кажется, ничего не работает. Я предпочел бы сохранить все это в AS3 вместо перехода на PHP, но я пойду на PHP, если нас заставят в мире после Flash 14.

Любое понимание? Спасибо!

private var imgFile:URLRequest;
private var img:MovieClip;
private var imgLoader:Loader;
private var file:FileReference;

public function ImageSave() {
    imgFile = new URLRequest("file.jpg");
    imgLoader = new Loader();
    imgLoader.load(imgFile);
    imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);

    saveButton.addEventListener(MouseEvent.CLICK, saveImage);
    saveButton.buttonMode = true;
}

public function onLoaded(evt:Event):void {
    imgLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoaded);
    imgLoader.cacheAsBitmap = true;
    addChild(imgLoader);
}

public function saveImage(e:MouseEvent):void {
    var myBitmapData:BitmapData = new BitmapData(imgLoader.width, imgLoader.height);
    myBitmapData.draw(imgLoader); 
    var jpgEncoder:JPGEncoder = new JPGEncoder(80);
    var imgByteData:ByteArray = jpgEncoder.encode(myBitmapData);
    file = new FileReference();
    //file.browse(new Array(new FileFilter("Images (*.jpg, *.jpeg)", "*.jpg;*.jpeg")));
    file.save(imgByteData, "file.jpg");
}

0 ответов

Другие вопросы по тегам