Dec 242017
C Users Group magazine files for August 1994. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
FILENAME.TXT | 5899 | 2043 | deflated |
KELLY | 0 | 0 | stored |
FFILTER.CPP | 3978 | 1337 | deflated |
FFILTER.HPP | 1825 | 756 | deflated |
FILT.ASM | 2891 | 884 | deflated |
FILTFUNC.CPP | 99 | 83 | deflated |
FILTFUNC.HPP | 151 | 119 | deflated |
GOFILTER.CPP | 1945 | 708 | deflated |
GOFILTER.PRJ | 20933 | 1828 | deflated |
LETTERS | 0 | 0 | stored |
PSTRING.C | 2702 | 1132 | deflated |
PSTRING.H | 1783 | 704 | deflated |
PLAUGER | 0 | 0 | stored |
ESXSTREM.C | 597 | 329 | deflated |
ISGETFFL.C | 1646 | 541 | deflated |
ISGETIFL.C | 1228 | 558 | deflated |
ISTREAM.H | 2582 | 698 | deflated |
ISXCHAR.C | 372 | 236 | deflated |
ISXDBL.C | 586 | 330 | deflated |
ISXINT.C | 344 | 204 | deflated |
ISXLONG.C | 569 | 323 | deflated |
ISXPNTER.C | 1045 | 536 | deflated |
ISXSTRNG.C | 681 | 377 | deflated |
WS.C | 327 | 200 | deflated |
XSTOD.C | 591 | 321 | deflated |
PUGH | 0 | 0 | stored |
PUGH01.LST | 798 | 346 | deflated |
SAKS | 0 | 0 | stored |
GENQ3.CPP | 916 | 336 | deflated |
GENQ3.H | 707 | 299 | deflated |
INSERTER.CPP | 306 | 186 | deflated |
NEWAPPLY.CPP | 356 | 189 | deflated |
STRQ3.CPP | 505 | 243 | deflated |
STRQ3.H | 638 | 278 | deflated |
STRTST3.CPP | 1706 | 527 | deflated |
STRTST3C.CPP | 1620 | 542 | deflated |
TREU | 0 | 0 | stored |
TREU2 | 0 | 0 | stored |
ATT.BGI | 6269 | 4333 | deflated |
BGIGRH.C | 3617 | 1261 | deflated |
BGIGRH.H | 348 | 185 | deflated |
BGIPIXEL.C | 1861 | 706 | deflated |
BGIPIXEL.H | 120 | 101 | deflated |
CGA.BGI | 6253 | 4305 | deflated |
EGAPIXEL.C | 3599 | 1331 | deflated |
EGAPIXEL.H | 118 | 99 | deflated |
EGAVGA.BGI | 5363 | 3878 | deflated |
FLOOD.BAT | 72 | 70 | deflated |
FLOOD.C | 5713 | 1898 | deflated |
FLOOD.EXE | 61661 | 35638 | deflated |
FLOOD.H | 122 | 93 | deflated |
FLOOD.PRJ | 205 | 76 | deflated |
FLOODTST.C | 4804 | 1496 | deflated |
HERC.BGI | 6125 | 4292 | deflated |
IBM8514.BGI | 6665 | 3434 | deflated |
PC3270.BGI | 6029 | 4205 | deflated |
UFLOOD.C | 3213 | 1115 | deflated |
UFLOOD.H | 125 | 95 | deflated |
USRDEF.H | 400 | 206 | deflated |
BGIGRH.C | 3617 | 1261 | deflated |
BGIPIXEL.C | 1860 | 703 | deflated |
EGAPIXEL.C | 3599 | 1331 | deflated |
FLOOD.C | 5713 | 1898 | deflated |
FLOODTST.C | 4804 | 1496 | deflated |
UFLOOD.C | 3213 | 1115 | deflated |
USRDEF.H | 400 | 206 | deflated |
WEBER | 0 | 0 | stored |
WEBER2 | 0 | 0 | stored |
100.PCX | 19629 | 10291 | deflated |
200.PCX | 194470 | 89400 | deflated |
300.PCX | 344626 | 108181 | deflated |
ARGS.C | 3529 | 868 | deflated |
ARGS.H | 2139 | 884 | deflated |
FAXASM.ASM | 13461 | 3840 | deflated |
FAXSCALE.C | 8497 | 2663 | deflated |
FAXSCALE.H | 334 | 150 | deflated |
FAXSCALE.OLD | 7358 | 2429 | deflated |
FISH.PCX | 34243 | 25632 | deflated |
PCX.C | 13534 | 3199 | deflated |
PCX.H | 798 | 277 | deflated |
README | 3134 | 1434 | deflated |
SCALE.C | 9957 | 2714 | deflated |
SCALE.EXE | 14476 | 8853 | deflated |
SCALE.MAK | 2260 | 829 | deflated |
SCALEASM.MAK | 2269 | 839 | deflated |
FAXSCALE.C | 7158 | 2319 | deflated |
SCALESFL.C | 2034 | 668 | deflated |
SCLFXLN.ASM | 5468 | 1471 | deflated |
SCLFXLN.C | 2701 | 738 | deflated |
Download File CUJ0894.ZIP Here
Contents of the README file
Notes on the Minimalist Scaler
April 18, 1994
David Weber
Box 1376
Paonia, CO 81428
303-527-6699
This zip file contains the source code, test bench and sample image
files for a minimalist scaler. It was developed for a fax engine. As
a consequence, the byte width of the scaled line is always the standard
fax width, 216 bytes. Images which scale too large for this width are
clipped. Those too small have the right side white filled. The intent
of the scaler was to produce a device driver that used a minimum of
computer resources and yet still had quality output and acceptable
speed. The algorithm is explained in detail in the magazine article.
Call or write me if you have any comments or questions.
Packing List:
READMEThis file
FAXASM ASMEssential algorithm in assembly
ARGS CAuxiliary file for test bench
FAXSCALE CEssential algorithm in C
PCX CAuxiliary file for test bench
SCALE C Main test bench file
SCALE EXEBCC 4.0 compiled assembly version of the scaler
ARGS HAuxiliary file for test bench
FAXSCALE HPrototypes for the scaler
PCX HAuxiliary file for test bench
SCALE MAKPolymake 3.1 make file for C version
SCALEASM MAKPolymake 3.1 make file for assembly version
FAXSCALE OLDFAXSCALE.C without white space optimization
100 PCX100 dpi test file
200 PCX200 dpi test file
300 PCX300 dpi test file
FISH PCXdithered/half toned test file
Usage:
The test bench program and the accompanying test images allow you
to verify the quality and speed of the scaler. It is a simple command
line program which uses the following format.
scale -x50 -y50 input output
Where 50 in this case means scale to 50% of the original. The
scale range is 3% to 3200%. Note that x and y are independently
scaled. This means you can change the aspect ratio. The independent
x/y scaling is necessary because a fax can be either high resolution
(200 dpi x 200 dpi) or standard resolution (200 dpi x 100 dpi). The
input parameter is the file name of a monochrome PCX file. Since faxes
are monochrome, color images are not supported. The output argument is
the file name of the scaled result. The test pictures are 8 1/2 by
11 inch pages scanned at various resolutions. The 300 dpi image has
over a million pixels. Scale the sample pictures to the standard fax
width using these commands.
scale -x200 -y200 100.pcx junk.pcx
scale -x100 -y100 200.pcx junk.pcx
scale -x66 -y66 300.pcx junk.pcx
View the output with any standard paint program. The fish.pcx image
is a tough test for any scaler. It is dithered and half toned, both of
which are usually scrambled by a low quality scaler. As you can see,
it does fine.
Environment:
Tested with Borland C++ 4.0, Zortech C++ 3.1 and Microsoft C 5.1
Copyright Restrictions:
Copyright (C) 1992 by David Weber. Unlimited use is granted
for noncommercial use or for commercial distribution in EXE,
OBJ, or LIB formats. Do not sell as source without asking first.
April 18, 1994
David Weber
Box 1376
Paonia, CO 81428
303-527-6699
This zip file contains the source code, test bench and sample image
files for a minimalist scaler. It was developed for a fax engine. As
a consequence, the byte width of the scaled line is always the standard
fax width, 216 bytes. Images which scale too large for this width are
clipped. Those too small have the right side white filled. The intent
of the scaler was to produce a device driver that used a minimum of
computer resources and yet still had quality output and acceptable
speed. The algorithm is explained in detail in the magazine article.
Call or write me if you have any comments or questions.
Packing List:
READMEThis file
FAXASM ASMEssential algorithm in assembly
ARGS CAuxiliary file for test bench
FAXSCALE CEssential algorithm in C
PCX CAuxiliary file for test bench
SCALE C Main test bench file
SCALE EXEBCC 4.0 compiled assembly version of the scaler
ARGS HAuxiliary file for test bench
FAXSCALE HPrototypes for the scaler
PCX HAuxiliary file for test bench
SCALE MAKPolymake 3.1 make file for C version
SCALEASM MAKPolymake 3.1 make file for assembly version
FAXSCALE OLDFAXSCALE.C without white space optimization
100 PCX100 dpi test file
200 PCX200 dpi test file
300 PCX300 dpi test file
FISH PCXdithered/half toned test file
Usage:
The test bench program and the accompanying test images allow you
to verify the quality and speed of the scaler. It is a simple command
line program which uses the following format.
scale -x50 -y50 input output
Where 50 in this case means scale to 50% of the original. The
scale range is 3% to 3200%. Note that x and y are independently
scaled. This means you can change the aspect ratio. The independent
x/y scaling is necessary because a fax can be either high resolution
(200 dpi x 200 dpi) or standard resolution (200 dpi x 100 dpi). The
input parameter is the file name of a monochrome PCX file. Since faxes
are monochrome, color images are not supported. The output argument is
the file name of the scaled result. The test pictures are 8 1/2 by
11 inch pages scanned at various resolutions. The 300 dpi image has
over a million pixels. Scale the sample pictures to the standard fax
width using these commands.
scale -x200 -y200 100.pcx junk.pcx
scale -x100 -y100 200.pcx junk.pcx
scale -x66 -y66 300.pcx junk.pcx
View the output with any standard paint program. The fish.pcx image
is a tough test for any scaler. It is dithered and half toned, both of
which are usually scrambled by a low quality scaler. As you can see,
it does fine.
Environment:
Tested with Borland C++ 4.0, Zortech C++ 3.1 and Microsoft C 5.1
Copyright Restrictions:
Copyright (C) 1992 by David Weber. Unlimited use is granted
for noncommercial use or for commercial distribution in EXE,
OBJ, or LIB formats. Do not sell as source without asking first.
December 24, 2017
Add comments