h1. Installing and using ImageMagick Jun 23, 2015 *On my local Linux Mint (Ubuntu) @apt-get install imagemagick perlmagick@ If package not found, then first do: @apt-get update@ and then try the install again. h2. EXIF Data http://stackoverflow.com/questions/1708417/how-can-i-extract-exif-data-using-perlmagick http://hacktux.com/read/remove/exif may want: @apt-get install libimage-exiftool-perl@ @exiftool coreopsis.jpg@ will provide some info about the image. but this might be better: @apt-get install jhead@ @jhead coreopsis.jpg@ if want to remove exif data from an image: q. After ImageMagick is installed, you will have /usr/bin/mogrify available. The mogrify command can be used to strip Exif data from images. mogrify -strip imagename.jpg If you need to process a large number of files, use find and xargs: find ./folder_of_images -name '*.jpg' | xargs mogrify -strip q.. hr. Perl usage http://www.imagemagick.org/source/examples.pl hr. did not need to execute these commands. @apt-get install libconfig-yaml-perl@ @perl -MCPAN -e 'install Image::Magick' hr. install CPAN reload CPAN hr. check Ubuntu version @lsb_release -a@ h2. orientation fence.Value 0th Row 0th Column 1 top | left side - [phone held in landscape pos with home button at right] 2 top | right side 3 bottom | right side - (landscape photo that's upside-down. how taken?) 4 bottom | left side 5 left side | top 6 right side | top - [phone held in portrait pos with home button at bottom] 7 right side | bottom 8 left side | bottom fence.. h2. Links http://www.imagemagick.org/script/formats.php DOC http://www.imagemagick.org/script/perl-magick.php http://www.imagemagick.org/script/examples.php http://www.imagemagick.org/source/examples.pl http://www.graphicsmagick.org/perl.html http://sylvana.net/jpegcrop/exif_orientation.html h2. Using Client-side Javascript to Resize an Image http://stackoverflow.com/questions/5343915/javascript-library-similar-to-imagemagick-i-e-resize-images-and-pictures-whil http://stackoverflow.com/questions/2303690/resizing-an-image-in-an-html5-canvas http://davidwalsh.name/resize-image-canvas hr. http://stackoverflow.com/questions/6150289/how-to-convert-image-into-base64-string-using-javascript http://jsfiddle.net/handtrix/YvQ5y/ hr. https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL hr. http://www.sitepoint.com/html5-ajax-file-upload/ http://stackoverflow.com/questions/9395911/sending-a-file-as-multipart-through-xmlhttprequest http://www.sitepoint.com/html5-javascript-file-upload-progress-bar/ hr. https://dojotoolkit.org/documentation/tutorials/1.10/ajax/ https://dojotoolkit.org/documentation/tutorials/1.10/mobile/flickrview/part3/index.html https://dojotoolkit.org/documentation/tutorials/1.10/jsonp/ http://dojotoolkit.org/reference-guide/1.10/dojo/json.html hr. http://stackoverflow.com/questions/21944247/sending-off-an-image-name-with-ajax hr. http://stackoverflow.com/questions/14383557/setting-canvas-todataurl-jpg-quality q. Edit: If you're using Fabric.js, another, very simple and human-readable way, is this: canvas.toDataURL({ format: 'jpeg', quality: 0.8 }); This also allows you to have other options, giving you the ability to crop the image, etc: canvas.toDataURL({ format: 'png', left: 300, top: 250, width: 200, height: 150 }) q.. hr. http://code.flickr.net/2012/06/01/parsing-exif-client-side-using-javascript-2/ hr. http://drbacchus.com/rotating-an-image-with-imagemagick-and-perl/ use Transpose or Transverse. for my usage, it will mainly be Transpose for photos taken in portrait mode on the phone which creates images with orientation = 6. https://github.com/exif-js/exif-js hr. https://dojotoolkit.org/documentation/tutorials/1.8/ajax/ https://dojotoolkit.org/reference-guide/1.7/dojo/fromJson.html https://dojotoolkit.org/reference-guide/1.7/dojo/toJson.html#dojo-tojson hr. http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios https://github.com/protonet/plupload https://github.com/moxiecode/plupload/issues/631 http://stackoverflow.com/questions/17081162/canvas-image-become-distorted-after-slice-and-shrink-in-ios-safari hr. http://nolanlawson.com/2015/06/30/safari-is-the-new-ie/