views:

8007

answers:

6

Does anyone got an ideia on how to get client side image resize using flash.

Example: Client chooses an image with 1200x800 and before it uploads it flash will turn it into half of it or something.

Any thoughts?

+1  A: 

Silverlight, ActiveX and Java can do this completely client-side. If you have to use Flash you are going to need to use Flash 10 which isn't prevalent quite yet. Here is an example on uploading an image to Flash then resizing it on the client from Flash Cafe.

Other options in Flash 8 or 9 would involve a server-side resizing script, defeating the purpose in most scenarios.

DavGarcia
+1  A: 

You need create a transformation matrix, then draw the original bitmap into a new one using it. Here's the idea in something i am just typing in and have not tested:

function resize(obm:BitmapData, scale:Number): BitmapData {
   var resizeMatrix:Matrix = new Matrix();
   resizeMatrix.scale(scale, scale);

   var rbm:BitmapData = new BitmapData(obm.width * scale, obm.height * scale);
   rbm.draw(obm, resizeMatrix);

   return rbm;
}

I make no claims about the quality of the result, however. I think I remember trying this in the past, not liking the result, and punting...

Scott Evernden
+6  A: 

take a look at the script i wrote : image resizing at client side

Ady Levy
amazing work! recommended
YuriKolovsky
+1  A: 

http://www.shift8creative.com/projects/agile-uploader/index.html

I just finished this little project - free to use. It won't really allow the end user to select the size, but you can pass a max width and max height constraint. Maybe you can make multiple pages/embeds with different options.

Tom
A: 

I'm using flash uploader from http://www.resize-before-upload.com, works just fine :)

Paul
A: 

You can use uploader from aurigma http://www.aurigma.com/Products/ImageUploaderFlash/

sfedor