H. G. Muller wrote on Sat, Oct 25, 2008 02:23 PM UTC:
Fergus, I experimented a bit with a colored bitmap that I snatched from the
GC pages. The bitmap was only 35x40, though, so I put it in a square of
45x45, and I have to magnify it for any WinBoard board size larger than
'mediocre'.
The bitmap itself was nicely anti-aliased, with clean edges (no doubt
because you made sure the transparancy left no rags on the outside). The
graphics routine I use (StretchBlt) seems to do the (de)magnification by
sampling. For small demagnification factors this means it now and then
skips a scan line, making ugly dents in the piece outlines where these
make a small angle with the vertical or horizontal axis. If the original
bitmap would have been larger, this effect should becom much smaller, as
it always skips lines at these large demagnifications, and the difference
between skipping 2 or 3 lines is a lot less obvious than between skipping
0 or 1.
At the large sizes, it duplicates lines, leadng to a 'blocky'
appearence: te individual pixels are blown up to squares. This effect
would also disappear if we start from larger images.
It would be conveient if these larger images are already filtered so that
the upper 1/2 or 2/3 of the spatial frequency components would be
suppressed. This would make the larger sizes a bit 'smeared' in
apperance, but not blocky. The demagnified pieces will then automatically
be anti-aliased. Perhaps 100 x 100 would be a good size to start from.
If you want to look at the efect at different board sizes, I put a test
version at http://home.hccnet.nl/h.g.muller/color.zip . Note only one
piece is displayed, as I only built in one colored bitmap.