Computer Graphics Tools

updated 2004-02-03

This is just something I threw together that I thought you might find useful. Comments?

This page is about the process of creating graphics to display on a computer screen.

related pages:

The comp.graphics.* series of newsgroups...

Standard art tools

Computer graphics tools intended to be used by graphic artists to create art.

how I scan photos

After a little experimentation, here's how I scanned photos last time.

photo scanning

There's probably a better way ...

  1. Put photo on scanner. If one edge of the photo has no detail (will be cropped off later), press it against one edge of the bed to help align the photo.
  2. In Paint Shop Pro, choose File | Import | Twain | Acquire... This starts up HP PrecisionScan LTX.

    The 2 adjustment dialogs should already be open; if not, open them with Tools | Exposure Adjustment and Tools | Color Adjustment.

    (these settings should already be enabled: Output type: Best Color Photograph (16 Mcolors). Output size: original size. Resolution: automatic (I think this is 200 dpi). Sharpen detail in photos (?). Use Maximum bit depth. )

  3. In HP PrecisionScan LTX, drag a box just slightly larger than the photograph. (it's not critical exactly how much larger this crop box is).
  4. In the Exposure Adjustment dialog, click Auto. (Perhaps picking the darkest black and the brightest white with the eyedropper would be better ?).
  5. The photos I'm scanning today were a bit reddish so I click on the cyan and blue triangles to get x = -20, y=-10. (in the Color Adjustment dialog box).
  6. ``Send the scan now'' button.

    I chose the numbers in the previous step to make neutral gray look neutral gray.

    Since I'm scanning a black and white photo, in theory I should be able to pick *any* pixel with the eyedropper and see that the R,G,B values are all equal to each other.

    When I keep the scanner default of x=0, y=0, the Red value is always larger (in the Paint Shop Pro histogram, I see peaks in the red shifted to the right (brighter) than the green and blue peaks.)

    You can tell when this is adjusted correctly by going to ``Tools | Exposure Adjustment'' and picking pixels with the eyedropper. The R,G,B values of *neutral* pixels (in particular, light and medium gray) in the photograph, (say, a white fencepost in the shade, or teeth...) should be very close to each other -- 127, 122, 131 are close enough.

    (it's best to do the previous 2 adjustments here, where the scanner does them with full 36 bit accuracy, rather than trying to do it later in 24 bit mode where we've already lost that information).

  7. In Paint Shop Pro, choose ``View | Image Information... | Creator Information''.
  8. Take the photo out of the scanner, look for anything written on the back. Type *all* that information into the ``Creator Information'' area: the year and day the photo was taken, who the photographer was, the names of all the people in the picture, where the picture was taken, etc.
  9. Rotate the photo right-side-up.
  10. Make up a name for the photo. Save *2* copies of the photo in .png format: the ``original'' with ``_raw.png'' suffix, and the ``working version'' with just the ``.png'' suffix.
  11. If this is a black-and-white original, do ``Colors | Grey scale''.
  12. Crop the photo. At minimum, crop the remaining white border (from step 3). Usually you'll want to crop a lot more than that to focus on the interesting areas.
  13. Save.
  14. Try to get rid of the annoying speckle pattern (which also helps compress the file much smaller). Image | Noise | Median Cut. If that destroys too many details, Ctrl+Z Undo, and try Image | Blur | Gaussian blur... | Radius: 0.5 pixels. | OK.
  15. Image | Resize | Percentage | 50% to try to get image roughly 400 pixels wide (web quality -- see #photo_size ).
  16. Save.
  17. Save with ``_thumbnail.png'' suffix. Crop even more stuff, then reduce to about 128 pixels in the long direction.
  18. Save.
  19. Consider converting from .png to .jpg.

See

for more scan tips.

Interactive Graphics Renderer (IGR)

[FIXME]

web art tools, preparing photos for the web

Specialized tools aimed at taking the art (generally created by one of the above Standard art tools ) and making it more suitable for the Web: reducing its bandwidth without significantly changing its appearance, making buttons out of it, etc.

See html.html#design_advice for more general layout design advice.

how big should I make my thumbnails ? Full-size web photos ?

[This is just a local backup copy; the live version of the "photo size" section has moved to http://visual.wiki.taoriver.net/moin.cgi/PhotoSize ]

Summary:

Web sizes are always in terms of pixels. People recommend many different sizes.

Thumbnails:

64x64
75 wide
80x80
80x80
100x150
128x128
128 wide
150x115
150 wide
192x192
192x128
260x175

"Try not to exceed 100 KB per web page for the total of all images"

Full-size web photos:

"under 420 pixels wide"
560 wide
600x400
600x400
750x500
760 wide

"twice the width of the finest significant line in a document"
"30 to 100 KB per image"
"make the smallest lowercase letter echo (e) 8 pixels high"

Full-size printed photos:

medium quality: approximately 150 pixels per inch of resolution
professional quality: at least 300 pixels per inch of resolution

fonts and typography

[This is just a local backup copy; the live version of the "fonts and typography" section has moved to http://visual.wiki.taoriver.net/moin.cgi/FontsAndTypography ]

tools for making letters shaped however you want; ideas for different letter styles, legibility, etc; fonts other have created using those tools and ideas.

The latest font news is at http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&group=comp.fonts and http://fonts.deviantart.com/ .

see also ASCII_Art fonts.

see also linux.html#tex for info on TeX, the standard way of typesetting mathematical equations.

see also si_metric_faq.html#iso8859 for some information on the default character set for web pages.

Some of these font try to make English text even easier to read, by making the letters more distinct. Others try to ``look cool'' or ``look pretty'' even if it makes English text slightly more difficult to read. See idea_space.html#alphabet_aesthetics for fonts that go to extremes to look cool, even if it makes English text almost impossible to read.

PostScript

[this is an old archive -- moved to http://visual.wiki.taoriver.net/moin.cgi/PostScriptLinks ] PostScript: it's not just a file format. Don Lancaster suggests using it as a full-fledged programming language in its own right.

http://www.cappella.demon.co.uk/ points to a cute little PostScript barcode utility and documentation.

Thinking in PostScript book by Glenn Reid http://rightbrain.com/pages/book-download.shtml online book [FIXME: to read] [Is this related to Thinking in C++ by Bruce Eckel ?]

http://cuisg11.unige.ch/OSG/people/jvitek/Compilers/Year93/msg00128.html PDB -- ANSI-C to PostScript translator/compiler apparently by Arthur van Hoff (Jan 1993)

fractals

see also Fractal Image compression

(FIXME: Consider moving to http://en.wikipedia.org/wiki/Fractal )

ASCII Art

graphics produced under severe limitations

David Cary is fascinated by ASCII Art. (consider moving to http://en.wikipedia.org/wiki/ASCII_art )

Visualization tools (and Math software)

Computer graphics tools intended to be used by doctrors, engineers, mathematicians, etc. to look into large data sets to "see" new insights.

see computer_architecture.html#cellular_automata for cellular automata simulators (some of them quite pretty).

see data_compression.html#benchmark for some medical images and other test images for these visualization tools.

see nanotech.html#molecule_modeling for tools for visualizing atoms and molecules.

VRML (Virtual Reality Modeling Language)

Graphics file formats and parsers

(and a couple of formatted text formats)

See also Writing Computer Graphics Software

see also data_compression.html#file_formats

"my favorite (standard) file formats"

Some other interesting and/or popular image formats:

general Information on file formats

detailed information on a few file formats I find interesting:

Books on Computer Graphics

These books on computer graphics are gnerally about "how to write software that generates computer graphics" or "how to write software that can read and write computer graphics files", not "how to draw art using your computer".

From: kallianp@cs.sc.edu (Mohit Kallianpur)
Newsgroups: comp.graphics.algorithms
Subject: Re: BOOKS
Date: 11 Oct 1995 18:44:29 GMT
Organization: University of South Carolina - Columbia - Computer Science
Lines: 76

cho <w-cho@ux4.cso.uiuc.edu> writes:

>	Hello.  I've just started out my study in computer graphics, and been
>searching for "a few good books." :)  I am fairly competent with C and
>C++...   I would appreciate any recommendation for books regarding 3D
>graphics.  Thank you!

Hi John,

    Check out http://wcl-rs.bham.ac.uk/GamesDomain/gamedev/3dbooks.html
In case you cannot check out that site, here is a list of books which
you may find very useful :

For Graphics intro and algorithms :

1)  3D Computer Graphics, 2nd Ed., Alan Watt, Addison-Wesley 1993,
    ISBN : 0-201-63186-5.

    This book should be owned by any person who is into Computer Graphics.
    Really excellent book!

2)  Computer Graphics: Principles and Practice (2nd Ed.) - J.D. Foley,
    A. van Dam, S.K. Feinder, J.F. Hughes, Addison- Wesley 1990,
    ISBN : 0-201-12110-7

    Another classic.
    There is an "Introduction to Computer Graphics" by the same authors. It is
    supposedly an abridged and modified version of the above book with code in
    "C". I have not looked at this book yet.

3)  Computer Graphics: A Programming Approach, 2nd Ed., Steven Harrington,
    McGraw-Hill 1987,
    ISBN : 0-07- 026753-7

4)  Advanced Animation and Rendering Techniques, Alan Watt and Mark Watt,
    Addison-Wesley,
    ISBN : 0-201- 54412-1

For the math part of graphics :

1)  Mathematical Elements for Computer Graphics, 2nd Ed. - David F. Rogers and
    J. Alan Adams, McGraw-Hill 1990,
    ISBN 0-07-053530-2

    Covers all the basic math stuff needed for graphics - including curves,
    splines, NURBS etc.

2)  Computer Graphics : An Introduction to Mathematics and Geometry,
    M. E. Mortenson, Industrial Press,
    ISBN : 0831111828.

    Apparently requires a good math background to read, as it is not easy reading.

For texturing, writing shaders etc. :

1)  Texturing and Modeling : A Procedural Approach, Ken Musgrave, David S. Ebert,
    Darwyn Peachey et. al., Academic Press Professional.
    ISBN : 0-12- 228760-6

For image processing :

1)  Digital Image Processing - Rafael C. Gonzalez and Richard E. Woods
    Addison-Wesley 1992,
    ISBN 0-201-50803- 6

    Excellent book on image processing!


    You can probably also get the Graphics Gems series from your library, and the
    source for it off the net.


    Hope this helps.

Mohit Kallianpur
(kallianp@cs.sc.edu)

Writing Computer Graphics Software

See also

You may also want to check out my style_guides [FIXME:] for related information.

Bresenham

[moved to http://visual.wiki.taoriver.net/moin.cgi/GraphicAlgorithm ]

Detailed information on the Bresenham algorithm. The original version was just for lines (on a mechanical pen-plotter). Since then, people have discovered/invented very similar algorithms for Bezier curves, circles, ellipses, etc.