Hi Nicholas,

Thank you for the submission. I won't have time to look at this for a while (I 
will be out of town and out of email contact for a couple of weeks.) Maybe 
one of the other developers will have some time to consider your patch, 
otherwise, I'll have a look when I get back. Would you post it to the bug 
tracker at the sourceforge site?

Darren


On Wednesday 20 September 2006 12:34, Nicholas Young wrote:
> Hi,
>
> I sent this message to the list this time yesterday and it doesn't seem
> to have either arrived or bounced - so I'm trying again.
>
> I've written a patch (attached) to allow the PS backend to respect the
> dpi that's given to the FigureCanvasPS on initialisation when saving
> images.  The solution I came with to do this isn't the nicest, but I
> couldn't see any significantly different way to do it without changing
> the rendering process for images.
>
> What I've done is add a get_image_magnification method to the default
> backend with a default return value of 1.0.  This magnification factor
> is then taken by the draw method of the figure, axes or image and passed
> as a keyword argument to the make_image method of the image where it
> used to scale the widthDisplay and heightDisplay returned from the
> bounding box.  (I also changed the self.make_image(False) call in
> Image.write_png to self.make_image() as I'm pretty sure that's what was
> meant to be - and if I hadn't the introduction of my new keyword
> argument would have resulted in a zero size image.)
>
> By returning a magnification of dpi/72.0, the PS backend is able to
> instruct the image instances to create larger images which it then
> scales by an appropriate value on output to give the requested dpi.
>
> This patch, or something like it, is vital for me at the moment because
> the low 72 dpi output used by matplotlib at the moment gives rise to
> some fairly significant distortion to my results.  I imagine others will
> come across the same problem.
>
> I hope this patch is useful,
> Nicholas Young

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to