Загрузите файлReference.data в загрузчик, используя loadBytes(). Тогда у вас будет: sourceBMP: Bitmap = loader.content как Bitmap;
Вот пример кода:
MXML часть:
<fx:Declarations>
<net:FileReference id="fileReference"
select="fileReference_select(event);"
complete="fileReference_complete(event);" />
</fx:Declarations>
<s:Button id="uplaodImageBtn"
label="Upload Image"
click="uplaodImageBtn_clickHandler()"/>
AS3 часть:
private function uplaodImageBtn_clickHandler() : void {
var arr:Array = [];
arr.push(new FileFilter("Images", ".gif;*.jpeg;*.jpg;*.png"));
fileReference.browse(arr);
}
private function fileReference_select(evt:Event):void {
fileReference.load();
}
private function fileReference_complete(event:Event):void {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete);
loader.loadBytes(fileReference.data);
}
public function loader_complete (event:Event) : void {
var sourceBMP:Bitmap = event.currentTarget.loader.content as Bitmap;
Alert.show(sourceBMP.width + ', ' +sourceBMP.height);
}
Спасибо, Анди! Интересно, сколько накладных расходов такая техника могла бы добавить к приложению. Но отличный ответ. Благодаря! – Francisc
Я вижу, что вы выбрали другое решение, которое добавляет изображение в список отображения. Из вашего комментария 10 августа я думал, что вы не хотите этого делать. – andi
Действительно. Я не видел часть MXML ниже: ' '. Думал, что «образ» был просто переменной AS, которая не была добавлена на сцену. –
Francisc