Path: utzoo!attcan!uunet!husc6!uwvax!tank!ncar!ames!pasteur!ucbvax!VTVM1.BITNET!GRANGERG From: GRANGERG@VTVM1.BITNET (Greg Granger) Newsgroups: comp.lang.modula2 Subject: Re: Graphics enhancement Message-ID: Date: 20 Dec 88 21:58:38 GMT References: Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: Info-Modula2 Distribution List Organization: The Internet Lines: 33 Well I'm certainly no expert on this but if all you are trying to do is 'smooth the jaggies', I think I can help. Consider the pixels in the original (screen) image. Any one (except those on the border) can be connected to 8 other pixels. When these are converted for the printer (ie enlarged) the pixels to the "right and left" and "top and bottom" give smooth lines, only the pixels connected on the diagonals cause problems. Since every screen pixel is converted to several printer pixels the diagonal jumps are exaggerated. This can be offset by plotting a extra point between all points connected diagonally. I'll try to make this even more unclear :-) by 'drawing' a picture. +----+----+ +----+----+ +----+----+ +----+----+----+ xxxx xxxx +----+----+----+----+ +----+----+----+----+ xxxx xxxx +----+----+ +----+----+----+ +----+----+ +----+----+ Unsmoothed printer pixels Smoothed printer pixels by insertions of extra point It's a bit tricker for the 320x200 CGA mode because generally color is simulated by using a pattern, and you wouldn't want to mess up the pseudo-colors by overlaying a extra point on them. This BTW is similar to what they do with CD players (2x, 4x, 8x oversampling) to 'improve' there sound. Greg