[net.micro.amiga] Help: dpaint and printing

ralph@atrp (Ralph Vinciguerra) (04/10/86)

Dpaint....it is a very nice program but I'm trying to use it in a special
way and it's putting me through the wringer. I'm running it in hi resolution
with only one bit plane (invoke as "dpaint hi 1"). In this mode I can
create nice crisp figures for black and white documents, and the response
time of dpaint is much improved since it only has to write to one bit plane.

The Problem: if I try printing this image, some clever software (in AmigaDOS
and/or in dpaint) attempts to make the printed output fit exact dimensions
and maintain aspect ratio. The result is that I don't get a 1-to-1 reproduction
of the pixel image I created. Now this is fine for shaded and colored images
but I want to make a crisp diagram and I want the lines and characters to be
exactly like they are on the screen.

	Am I doing something wrong with respect to the preferences ?
I should also mention that I'm also down in the middle of the printer
driver examining all the printer parameters too. There seems to be some
kind of a calculation based on these numbers which causes the printing
to come out with repeated pixels to make the dimensions of the final image
come out right. I'm not really concerned as much with the final aspect
ratio. I just want a 1dot-to-1dot print of the screen.
I've tried alot of parameter combinations with varying success.
I can get either the horizontal or the vertical to work, but not together !

	If anyone either has experience with this or knows what I'm doing
wrong, your response would be appreciated. I suspect that I'm not the
only person using dpaint to create hi resolution line and text drawings.
Where is this magic being done ?  What calculation is it using ?
Is there a way around all this ?.....
------
	Oh, an additonal note: I got dpaint to run along with other
processes! In 1 bit plane mode there's enough memory around to send its screen
to the back and use the workbench ! I invoke dpaint as:
	1> run dpaint hi 1
It happily gets its own cli and starts up. This requires that you do
a modicum of disk swapping since you're running with workbench as the
boot disk (not dpaint as usual). Using the amiga-n and amiga-m keys
helps you figure out which disk it wants by bringing the screen with the
disk requestor to the front. See an earlier article on how to get dpaint
to use a different driver from the one on the dpaint disk. You can even
be printing and workbenching at the same time...but look out...there's
still not alot of memory around....

perry@atux01.UUCP (P. Kivolowitz) (04/11/86)

<yummy. fresh bits!>

	It is trivial to get the Amiga to print one printer pixel
for one image pixel. Trivial that is,  if you write your own call
to the printer  device  using  command  PRD_DUMPRPORT.  Just  set
io_DestRows equal  to  the height  of the picture and io_DestCols
equal to the number  of  columns  in the picture. Then, don't set
any io_Special bits.

	But I think you really do want some kind off aspect ratio
preservation.  They mean  the aspect  ratio of a pixel which I am
sure you're interested in preserving.


							Perry

P.S. See the next issue (may???) of Amazing Computing for a program
you can easily modify to do this sort of thing.

daveb@cbmvax.cbm.UUCP (Dave Berezowski) (04/12/86)

> Dpaint....it is a very nice program but I'm trying to use it in a special
> way and it's putting me through the wringer. I'm running it in hi resolution
> with only one bit plane (invoke as "dpaint hi 1"). In this mode I can
> create nice crisp figures for black and white documents, and the response
> time of dpaint is much improved since it only has to write to one bit plane.
> 
> The Problem: if I try printing this image, some clever software (in AmigaDOS
> and/or in dpaint) attempts to make the printed output fit exact dimensions
> and maintain aspect ratio. The result is that I don't get a 1-to-1 reproduction
> of the pixel image I created. Now this is fine for shaded and colored images
> but I want to make a crisp diagram and I want the lines and characters to be
> exactly like they are on the screen.
> 
> 	Am I doing something wrong with respect to the preferences ?
> I should also mention that I'm also down in the middle of the printer
> driver examining all the printer parameters too. There seems to be some
> kind of a calculation based on these numbers which causes the printing
> to come out with repeated pixels to make the dimensions of the final image
> come out right. I'm not really concerned as much with the final aspect
> ratio. I just want a 1dot-to-1dot print of the screen.
> I've tried alot of parameter combinations with varying success.
> I can get either the horizontal or the vertical to work, but not together !
> 
> 	If anyone either has experience with this or knows what I'm doing
> wrong, your response would be appreciated. I suspect that I'm not the
> only person using dpaint to create hi resolution line and text drawings.
> Where is this magic being done ?  What calculation is it using ?
> Is there a way around all this ?.....
> ------

	Dpaint is calling the dump rport routine specifying that it wants
the largest possible picture based on two things; the maximum x/y dots
of the printer which fits in the margins/lines per page that you've
specified in preferences. There is no easy way for you to figure out the
formulae that the printer routine is using (besides its quite ugly).
However I do have a (partial) solution for you. I you select the
Black&White option under preferences (versus the grey scale or color option)
you find that the printed picture is no longer dithered. B&W prints all
colors as either black or white no grey scaling. The colors it prints
as white and black are determined by the threshold value. It works much
like the contrast control on a photocopier. As you slide the control
from one end to the other, more colors print as black or white depending
on whether or not you also have selected the inverse image option.
This won't give you a 1-1 coorespondence BUT the ansense of the dithering
will help. Also, if you play with your margins enough, you may find that
you can get a 1-1 correspondence as the printer can't print 1/2 dot.
	Good Luck!

	Regards,  David Berezowski (daveb@cbmvax)