Choosing image formats

From OLPC
Revision as of 06:39, 10 January 2007 by Jhellingman (talk | contribs)
Jump to: navigation, search

Whatever format you use, check your file sizes! Even SVG and PNG images can end up being bloated if the right options are not used. Use applications which trim down image file size for the web.

There are four primary image formats that will probably see much use on the OLPC:

SVG
This is an object-oriented drawing format ideally used for drawings created with tools like Inkscape, CorelDraw, CAD software, etc.
JPEG
This is a compression format that is ideally suited to photographs whether they are scanned or photographed on a digital camera. This is a very, very bad choice for scanned text. You can tell when someone has made this mistake because the text is blurry.
PNG
This lossless compression format is the best choice when you have to scan material like line drawings, cartoons, or text. The common factor in all these source materials is that they have a few different shades of color, perhaps only black and white. Even when the scanned original is stained or has shadows on it, you can usually tell your image editor to convert it to a 2-color black and white image (or increase the contrast to maximum) and sharpen the image
The same applies to JPEGs sourced from a digital camera. For instance, if you photograph some text then take the JPEG from the camera and convert it to PNG. This will sharpen the edges of the letters and make it easier to read. In addition you should reduce the size of the image taking into consideration the number of bits available on the screen. The first systems will be 1200 x 900 at 200dpi.
Important note: PNG can waste a lot of space if you'll try to keep full range of 16777216 colors or even 256 shades of gray - and if it's text or diagram all this space will be wasted anyway. Use PNG with color palette instead.
GIF
This format is only usefull for small animations (big ones will chew space on flash-drive too fast). Properly compressed PNG is almost always smaller then GIF. Just use PNG with index (not true color) and don't forget about Pngcrush!

DJVU
This is not primarily an image format although it is used to encode compressed page images from books. DJVU is the best choice when you are scanning a multipage book intended to be used in an Ebook reader like Evince. However it should not be used for images in your applications or in HTML documents. In this usage scenario, it is possible to add OCR results behind to page images, which makes the text searchable, without the labor intensive proofreading a text-only version would require.

Some other formats can be usefull as well (MNG or JPEG 2000) but they do have only limited support in applications and it's not clear if their advantages are worth the pain of non-standard format support. More about it here.