Nice add-on, Wordman! (Good to see you posting again too, btw!)
Might want to add the .psd format. It is something of a standard now (layering being its primary advantage). Also, TIFF is still used for a lot of things.
It's probably worth adding vector formats to the list. I use vector art quite a bit, but am no expert on the various formats. Breifly, I know the following:
To restate information in the original post: what have been previously described are "raster" formats. This means, basically, that the image is stored (or, at least conceived) as a grid of pixels. The disadvantage is that, well, it's a grid of pixels. Even though the image might look like a particular object, you can't actually manipulate it as one, because it's really just part of a pixel grid. (So, you need to rely on tools and tircks to "extract" just the pixels you want, and so on.) Also, while such images can be made smaller without loss of quality, making them larger results in "jaggies". File sizes also can get very large.
In contrast, "vector" formats describe an image using mathematical paths. This has the advantage that it can be drawn at any resolution (bigger or smaller) without losing quality. Also, the paths can be manipulated as paths, not as pixel grids. So, that thing that looks like a box really is a box that can be independently edited without weird pixel selection tricks. Disadvantages include a more "sharp" look and an inability to do some of the things you can do with pixels (e.g. smudging, some kinds of filtering, etc.) Most vector formats can also embed raster images (i.e. rectangles filled with a particular pixel grid) inside them.
- Scaled Vector Graphics (SVG) - An XML-based standard for vector images. It is supposedly cross platform, but there appear to be a lot of differences between the implementations, as far as I can tell. This may be improving now. SVG can also support time-based modifications (i.e. animation).
- SVGZ - Since SVG files are XML, they compress well, so are often zipped. When an SVG is zipped, the result is a SVGZ file.
- Encapsulated Post Script (EPS) - PostScript (a language used in printers) is a series of drawing instructions. The EPS concept is sort of a way to wrap little snippets of PostScript code into budles that can be used as embeddable images. For a long time this was (and may still be) the standard for distributing vector content. There are/were a number of different "flavors" of EPS for a while, and lots of different EPS interpreters (with widely varying degrees of quality). So, while the format is cross-platform, there are occasional gotchas with moving files.
- Portable Document Format (PDF) - Sort of the evolution of EPS, PDF is much more advanced and built with a different purpose in mind. Meant to represent paginated documents, PDF can also be used as just a graphics format. Like EPS, it consists of a series of PostScript instructions. Though most people don't use PDFs as graphics, they are capable of preserving layers and object characteristics. As an example, a PDF saved by Adobe Illustrator can usually be opened back up in Illustrator, preserving nearly all of the original Illustrator file characteristics (although, this appears to be done by just embedding the Illustrator format as an unrendered blob in the PDF). PDFs have a lot of font-based options, unlike some vector formats, allowing text to render as the creator intended, even if the consumer doesn't have that font installed.
- Adobe Illustrator Artwork (AI) - Since crushing its most serious rival (Freehand), Illustrator has become the king-daddy vector drawing package, and so its file format is often used to distribute vector content (particularly in the clip art world). Originally based on EPS, it has evolved significantly.
- Shockwave Flash (SWF) - A vector format focusing on animation and (these days) interactive elements. It's primary use for cartography is that it is the most reliable way of delivering cross-platform, resolution independent, zoomable maps to the web. Drawbacks include the fact that most people hate it.
- PICT and WMF - Files containing a collection of drawing instructions, using a platform specific drawing system. PICTs are a Mac format, based on QuickDraw. Windows Metafiles (WMF) are a Windows format, based on the Windows GDI. These files are not at all compatible, but many converters exist to change one into the other. These formats used to be fairly common, but I don't see them used much any more.
Last edited by Wordman; 03-11-2008 at 12:33 PM.
TIFF is a raster "wrapper." Strictly speaking, it isn't a format, but a container that can hold several different formats of data. It is protected by a copyright currently owned by Adobe Systems, and it has never been fully standardized. As a result, some programs handle it differently than others, and there are occasions when a tiff written on one computer or by one application cannot be read by another. I have personally run into problems moving tiffs from PC to Mac installations of Photoshop, and also from my compositing software (Nuke) to Adobe Premiere on the same computer.
Advantages of TIFF include its ability to hold layer information, much like a Photoshop document, and multiple alpha channels. Many applications will misinterpret the additional channels, though, and there is really no way to know which channel will be selected as transparency, so it is advisable to include only a single alpha in a tiff intended for display. Some extensions to the Tiff format include support for high bit-depth images, up to 32 bits per channel (96 or even 128 bits per pixel), CMYK color, or even YCbCr (YUV) color.
Available compression algorithms that can typically be applied to a tiff include LZW, DEFLATE, and RLE. None of these do particularly well with photographic data; no better than PNG, really. As a result, there is not really any reason to choose tiff as a final export format over PNG. Tiff's flexibility is useful, but ultimately limits it as a format for interchange between artists and systems.
Last edited by Midgardsormr; 06-17-2011 at 11:17 PM.
Around the same time that TIFF was being developed, Truevision was developing another similar format for digital video applications. Truevision was eventually purchased by Avid Technology, which continues to support the format in its video editing software. Unlike TIFF, TGA is unencumbered by copyright or patents, making it a somewhat safer format.
Targa is technically inferior to tiff because it lacks support for layering and can use only one type of compression (RLE). Its advantages, though, are inherent in that simplicity; every application and system that supports TGA will render it the same way, making it very popular still in video production pipelines. It supports a standardized alpha channel that most applications will interpret properly as a transparency channel. In addition to digital video, Targa is also popular in video gaming, where it is frequently used for texture maps.
TGA's maximum color depth is 32 bits per pixel: three 8-bit channels for RGB and another 8-bit alpha. Use TGA when you need lossless compression, transparency, and wide compatibility.
Last edited by Midgardsormr; 02-07-2013 at 03:02 PM.
OpenEXR is a fairly new format developed for High Dynamic Range imagery (HDRi) by Industrial Light and Magic (ILM). It was created to streamline visual effects work in a number of ways.
First, it can use several different kinds of compression, both lossy and lossless, for efficiency with a variety of different kinds of data. One particularly useful compression algorithm is called PIZ, which is very good at compressing grainy images.
Second, it permits several different bit depths, including 32-bit integer and 32-bit floating point.
Third, with high bit-depths comes the ability to store and work with linear light information. Most digital images have a gamma correction applied that expands the color space where the human eye is most sensitive and reduces color space in ranges where it is less sensitive. While this makes the images look better when displayed, it really futzes with the math during image processing. A discussion of gamma and linear workflows is a bit beyond the scope of this post, so I'll leave it at that. For more information on that topic, I recommend this article: http://mymentalray.com/wiki/index.php/Gamma
Fourth, it has a theoretically unlimited number of available channels, each of which is (ideally) tagged with its purpose. In addition to an alpha for transparency, an OpenEXR file can also contain channels serving a variety of different purposes. In visual effects, this is commonly used to store multiple render passes of 3d objects in a single file, so a compositor only needs one image sequence instead of a dozen (or more). Also, certain utility channels can be generated, such as a z-depth channel that can be used to create depth of field or atmospheric perspective tricks during post-processing.
Fifth, it is an open source format available under a free license, which encourages developers to create tools to make use of it.
OpenEXR has its downsides, though. Pulling an arbitrary number of channels out of a single file tends to be slower than using multiple files, particularly when some of those channels may not even ultimately be used. It is also not well supported in all applications yet. Software that sees a lot of use in the film industry uses it, but other applications have been slower to adopt it. Most users will never have the need to use the high bit-depth available from OpenEXR, and even fewer will ever need more than four channels. So there is a lot of added complexity with very little benefit. That may change over time, as people come up with more reasons to use those extra channels, but I expect it will be many years before end users are swapping files with a .exr extension.
Thanks for sharing such a useful information.
The Photoshop Document format is not an export format, so I have put off detailing it. I've learned a little bit about it recently, though, so I thought I'd throw it in here.
PSD, as its name suggests, is the internal file format used by Adobe Photoshop. Because Photoshop is so widely used, PSD files can often be read by other software, although few other programs will access all of its features. This compatibility is helped along by PSD's structure, which is a modified form of TIFF. The largest difference between the two is the lack of adjustment layers in TIFF.
The related PSB (PhotoShop Big) format is intended for Photoshop documents that exceed 2 GB in file size and/or 30,000 pixels in resolution (horizontal or vertical). I believe that it also has provisions for images with 32-bit float channels, to permit High Dynamic Range (HDR) imagery. I am relatively new to HDR topics, though, so I don't know all of the details there. Anyone who does is welcome to chime in. PSB does have a limit of 300,000 x 300,000 pixels, but no file size limit that I am aware of (except that imposed by the file system, of course).
Last edited by Midgardsormr; 02-07-2013 at 04:43 PM.
Hmm… I thought the limit on a PSD was 4 GB, but that may well be a theoretical limit rather than a practical one. I'll look into that and update accordingly.
edit: I had it confused with the ~4 GB limit on files under the Fat32 file system.
Last edited by Midgardsormr; 02-07-2013 at 04:45 PM.