Carl, On Sunday 12 February 2006 15:27, Carl Hartung wrote:
On Sunday 12 February 2006 12:56, Art Fore wrote:
How do I get a line off horizontal by 5 deg to not be jagged? (tried grid setting of 1 pixel, still the same) even prints out this way on laserjet postscript printer with 1200 dpi resolution. (image is 1900X1200 resolution)
Hi Art,
Every bitmap I've ever zoomed into closely enough represents diagonal lines with sawtooths, excepting perfect 45 degree angles, of course.
Even then, it's a "sawtooth." A raster image can do no better. There is so-called anti-aliasing, which (conceptually) intersects the line (having a specific, non-zero width) with the pixel grid and then assigns pixel values that reflect the degree of overlap of the line's with each pixel. (It takes into account the background and foreground colors, too, of course.) The only alternative is to use a vector graphic representation (SVG would be the obvious choice in the Open Source world). But even then, since all common display devices in use today (both for printing on paper and the CRT or LCD monitor) are raster devices, the issue of how to best chose pixel values to minimize rasterization artifacts remains.
So, I'm pretty sure you are on the right track looking at vector solutions.
...
Back to your project: If I were you, I'd experiment with using a vector drawing program and setting the photograph, which is a bitmap, as the *background* (a.k.a. "canvas" in some programs.)
Given that the base image (the map) is given as a raster image supplied by a third party, that much cannot be changed. However a good tool for adding the overlays would be one that can do such overlay layers in vector format while accepting a raster image as the base or background layer. In other words, a hybrid drawing program. I don't know, offhand, whether GIMP can do this. The good news is that PostScript and PDF can accommodate this kind of mixture of raster and vector graphics. The other good thing about PostScript-based representations is the fact that PostScript rendering engines usually are finely tuned to the characteristics of the output device and usually produce the best output possible for any given device.
The idea is to create your diagrams using vectors on one or more transparent layers over the bitmap canvas. Vectors scale and are much less susceptible to "jaggies" assuming you've got a decent printer/driver setup. The vector programs I've tried before and liked are:
Vectors are not "less susceptible" to aliasing, they're immune to it. It's only when you must rasterize the vector image that the inevitable degradation occurs, but because the image itself is represented by vectors, it will render at any resolution on any device in the best manner available for that output device. Raster images rarely look good unless they're rendered at their native resolution. Scaling them down is far less degrading, especially if it's done with a good rescaling algorithm (pretty much anything other than a point-sampling algorithm).
...
regards,
Carl
Randall Schulz