Essentially there are two classes of graphics applications; those that deal with vector graphics, and those that deal with pixels or picture elements. Vector graphics are essentially binary images (by that I mean only black and white) such as fonts and symbols. On Linux we are most familiar with Postscript as an example of vector graphics; a forth like language that can describe a great deal of graphical information in a small file. Pixel graphics tend to produce large files that contain grayscale image information that can can also contain color information. Pixel graphics can include photographs as well as line art, or any other sort of image.
A secondary classification system can be divided as follows:
There is a great deal of overlap between these three categories, XV for example has a surprisingly sophisticated color editor along with a few manipulation filters that put it beyond the realm of the average image viewer. Certainly more than one needs for viewing JPEGs from alt.binaries.pictures.whatnot.