[cairo] PNG backend
spitzak at d2.com
Tue Feb 17 12:36:01 PST 2004
On Tuesday 17 February 2004 07:48 am, Olivier Andrieu wrote:
> > Hmm... does it make sense to require pixels_per_inch here? The
> > current image_surface backend doesn't take this, and these two
> > should probably be consistent.
> Well the pixels_per_inch is mainly here to provide a return value for
> the pixels_per_inch method of the backend. And it gets written in the
> PNG header too. But I guess it could use the same fixed value than the
> image backend.
It does seem like it would be useful to have any surface accept a way to set
DPI. For Cairo the only effect would be to change what matrix you get when
you request the default transformation. But backends could use this
information for setting fields in output files or even controlling the scale
Since the default matrix rounds to the nearest integer multiple of 96 DPI (?
or is it 72?) it won't work to have a call to set the default matrix, as the
actual DPI cannot be recovered from that. Also it appears the exact rules for
setting the default matrix should be coded explicitly into Cairo so nobody
can mess them up.
Probably setting this should immediatly change the current transform to the
default matrix for this new dpi. This will produce the expected result when
people use it to initialize new surfaces, and you really should not change it
while you are drawing.
Perhaps independent horizontal and vertical DPI could be specified, though
I'm not really clear if Cairo supports non-square rasters on the backend
(because the default matrix either must be non-integer in one direction, or
it is allowed to produce non-square transformations).
If 2 numbers are supported and you need to send this information to an
interface that only accepts one, I have found it best to use the vertical.
Don't use the horizontal or any kind of mathematical combination of the
horizontal and vertical.
,~,~,~,~ ~ ~ ~ ~
/\_ _|_========___ Bill Spitzak
~~~/\/\\~~~~~~\____________/~~~~~~~~ spitzak at d2.com
More information about the cairo