Path: utzoo!attcan!uunet!pcrat!rick From: rick@pcrat.UUCP (Rick Richardson) Newsgroups: comp.text Subject: Re: Laserjet Questions Message-ID: <571@pcrat.UUCP> Date: 10 Sep 88 14:53:21 GMT References: <405@ucrmath.UUCP> Reply-To: rick@pcrat.UUCP (Rick Richardson) Organization: PC Research, Inc., Tinton Falls, NJ Lines: 42 In article <405@ucrmath.UUCP> jantypas@Soft21.Riverside.CA.US (John Antypas) writes: > > A) Build a 300 DPI (1M Ram) image in AT memory > Transfer it to the laserjet > >or B) Build the image into the laserjet memory? How do I do this? You may have to do either. If you can guarantee that you will generate the scan lines in order, then you can dump each scanline to the HP as you build it. You'll only need 300*WIDTH(inches)/8 bytes for this. Even better, create and dump a handful of scanlines together. If you are generating pieces of the image in no particular order, then, IN GENERAL, you must rasterize the whole image and send it in scanline order. This is because the HP can get upset and give you ERROR 21 if there are too many little bits of the image. The drum starts turning, but there isn't enough CPU horsepower to process the next "strip" in time. It seems dumb, but it happens. Example: try dropping a single dot with each transfer raster graphics command, at every other dot position on the whole page. You just can't do it this way on the LJ II. Of course, this may not happen to you for your application. If HP were more specific on the CPU load each glyph, raster segment, or fill pattern requires, then you could, in theory, use a dual approach of mostly ad hoc conversion with the occasional fully rasterized section when you know the LJ II will be overburdened. Alas, they aren't (more specific), and you can only guess. This would be the ultimate implementation of my Automatic Adaptive Rasterization scheme. If you don't have enough memory on the AT and you have to rasterize the whole image, then you'll just have to put some of it on disk. If you just can't get your compiler to grok "raster[300*11][300*8/8]", try a pointer to each scanline, and malloc space for the scanline if and when it is needed. -- Rick Richardson, PC Research, Inc. rick%pcrat.uucp@uunet.uu.net (INTERNET) uunet!pcrat!rick (UUCP, Personal Mail) ..!pcrat!jetroff (JetRoff Info) ..!pcrat!dry2 (Dhrystone Submissions)