2016-01-18 10 views
0

В моем приложении AIR пользователь может сделать снимок (из CameraRoll или CameraUI) и сохранить его на сервере.Как изменить размер изображения перед его загрузкой?

Есть ли способ автоматического изменения размера изображения (800x600), чтобы иметь более легкий файл?

Вот мой код:

var now:Date = new Date(); 
    var saveDirectory:String= "MyApp/PhotoUploads"; 
    var fileName:String = "MyPhoto" + now.fullYear + now.month + now.day + now.hours + now.minutes + now.seconds + ".jpg"; 
    var photoFile:File=File.documentsDirectory.resolvePath(saveDirectory+"/"+ fileName); 

function imageSelected(event:MediaEvent):void{ 
    var mp:MediaPromise = event.data; 

dataSource = mp.open(); 
readMediaData(); 
} 


function readMediaData():void{ 

    var imageBytes:ByteArray = new ByteArray(); 
    dataSource.readBytes(imageBytes); 
    var stream:FileStream = new FileStream(); 
    stream.addEventListener(Event.CLOSE,photoFileSaved); 
    stream.openAsync(photoFile,FileMode.WRITE); 
    stream.writeBytes(imageBytes); 
    stream.close(); 
    }  

function photoFileSaved(evt:Event):void{ 
    photoUpload(); 
} 

function photoUpload():void{ 
    photoFile.upload(req); 
    photoFile.addEventListener(ProgressEvent.PROGRESS, progress_func); 
    photoFile.addEventListener(IOErrorEvent.IO_ERROR, ioErrorMedia); 
    photoFile.addEventListener(Event.COMPLETE, complete_func); 
} 

Видимо, я не могу сделать:

mp.width = 200; 
mp.height= 200; 

Так как я могу это сделать?

ответ

1
var scale:Number = .6; 

var m:Matrix = new Matrix(); 
m.scale (scale,scale); 

var bmp:BitmapData = new BitmapData(sourceMc.width, sourceMc.height, false); 
bmp.draw (sourceMc,m); 
+0

'sourceMc' is' photoFile'? – cocoGeek

+0

Я, действительно, смотрю, что такое 'sourceMc', чтобы сделать' sourceMc.width' – cocoGeek

+0

Мне интересно, если, по словам «SourceMc», вы имели в виду MovieClip. Если это так, мое изображение не отображается в movieClip. – cocoGeek

Смежные вопросы