azure - how to compress/resize image in windows phone 8 -


i creating project in want compress image can uploaded on windows azure , later can retrieved windows azure application.so can please me how can that. using bitmapimage right . follwoing code using upload image azure

void photochoosertask_completed(object sender, photoresult e) {

        if (e.taskresult == taskresult.ok)         {              bitmapimage bitmap = new bitmapimage();             bitmap.setsource(e.chosenphoto);             writeablebitmap wb = new writeablebitmap(bitmap);                             using (memorystream stream = new memorystream())             {                   wb.savejpeg(stream, wb.pixelwidth, wb.pixelheight, 0, 0);                 azurestorage storage = new azurestorage();                 storage.account = **azure account**;                 storage.blobendpoint = **azure end point**;                 storage.key = **azure key**;                  string filename = uid;                  bool error = false;                 if (!error)                 {                          storage.putblob("workerimages", filename, imagebytes, error);                  }                 else                 {                     messagebox.show("error uploading new image.");                 }              }          }     } 

be care using writeablebitmap may run out of memory if resizing lot of images. if have few, pass size want saved savejpeg method. make sure use value higher 0 quality (last param of savejpeg)

var width = wb.pixelwidth/4; var height = wb.pixelheight/4;  using (memorystream stream = new memorystream()) {     wb.savejpeg(stream, width, height, 0, 100);     ...     ... } 

you can use jpegrenderer nokia imaging sdk resize image.

var width = wb.pixelwidth/4; var height = wb.pixelheight/4; using (var imageprovider = new streamimagesource(e.chosenphoto)) {     ifiltereffect effect = new filtereffect(imageprovider);      // resize dimensions     windows.foundation.size desiredsize = new windows.foundation.size(width, height);      using (var renderer = new jpegrenderer(effect))     {         renderer.outputoption = outputoption.preserveaspectratio;          // set new size of image         renderer.size = desiredsize;          ibuffer buffer = await renderer.renderasync();         return buffer;     } } 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -