Each year there is another leap forward in the digital camera megapixel race. Even low-end cameras are often capable of producing prints a foot wide or larger. But most every-day photographs do not need to be printed in such huge size. A common 4x6'' print with resolution 300 DPI does not require more than dimensions of 1200x1800. By resizing photos before the upload, it is possible to reduce traffic (and therefore the upload speed) by several times!
Image resize is a key feature for the entire family of Aurigma upload products. With any Image Uploader edition you can create and upload multiple thumbnails per each photo. But Image Uploader Pro has some special resize features. Let's examine them.
Efficient Resize for Huge Images
When you resize an image for upload to a photo print order system, you usually set high output dimensions. For example, if the maximum size a user orders is 8x10'', you will likely want Image Uploader to resize photos to 2400x3000. It is pretty large size (especially if we keep in mind that the input file size is even larger). Other upload products on the market would likely have difficultly with this task, but Aurigma Uploader Pro handles it with ease.
To understand the difference, let's consider the traditional way to resize digital images.
- For each photo, resizing software allocates a memory buffer large enough to hold the input image. If it is, say, 12 Mpix photo, it is necessary to allocate at least 36 MB.
- It encodes the JPEG file and loads the bitmap into memory to this buffer.
- After that, the software allocates another buffer for the resulting bitmap. For 2400x3000 it will be 21.6 MB.
- The resize algorithm gets pixels from the input image, calculates output pixels and copies them to the output bitmap.
- The output bitmap is encoded to JPEG and saved to a hard drive.
As you can notice, it requires the allocation of almost 60 MB per each resize operation. It is an enormous amount of memory, especially for such environments as Flash or Java applets. That's why the probability that the system will refuse to commit memory is quite high.

Aurigma Image Uploader Pro uses another approach to accomplish a resize operation.
- It decodes a part of an input JPEG file. A small memory buffer is enough to hold it.
- This piece of a photo is resized by as many times as the output image should be smaller than the input photo.
- Resized portion of an image is encoded to JPEG.
- Then the next piece of a photo is taken from the input photo, resized in the same way, and appended to the output JPEG.
- This process is repeated until entire photo is resized.
The benefits of such approach are obvious: regardless of the input and output bitmap size, Image Uploader needs only small buffer of memory to be allocated. Even if bitmaps occupy hundreds of MB, users will never suffer of the "out of memory" errors!

Besides of this unique resize technique, Aurigma Image Uploader Pro uses special algorithm to provide a superior quality of resize images, and of course we do our best to provide high performance C++ and Java allow.
Preserve EXIF During Resize
A common issue with a lot of resizing software applications is that they loose all metadata, in particular, EXIF fields. While it is not a huge issue when photos are just published on the web, for printing companies it is often inacceptable. The reason for this is that EXIF contains color management information that's taken into account by printing machines.
Aurigma Image Uploader Pro is able to copy EXIF from original JPEGs to its resized copies. So, you can use it to transfer photos from customers to your servers without any fear of the print quality loss!