Re: Controlling scale of Graphics on paper
- To: mathgroup at smc.vnet.net
- Subject: [mg126186] Re: Controlling scale of Graphics on paper
- From: Yves Klett <yves.klett at googlemail.com>
- Date: Tue, 24 Apr 2012 05:31:10 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jmtd9i$sim$1@smc.vnet.net> <jn388q$g83$1@smc.vnet.net>
Addendum to my first post:
This does only work properly if the PlotRange of the graphics object is
set to reflect the values of "format" (had not used that one in a while).
So making sure your dimensions are correct by using ghostview is always
a good idea ;-)
So the right way to use this is:
gfx = Graphics[Line[{{10, 10}, {110, 10}, {110, 110}}],
PlotRange -> {{0, 200}, {0, 200}}]
ExportScaled[filename_, gfx_, format_: {210, 297}, opts___?OptionQ] :=
Module[{mm}, mm = 72/25.4;
Export[filename,
Show[gfx, ImageSize -> format*mm, ImageMargins -> 0,
ImagePadding -> None, AspectRatio -> Automatic], opts]]
ExportScaled["test.eps", gfx, -Subtract @@@ (PlotRange /.
Options[gfx, PlotRange])]
It is a good idea to set the PlotRange values for your graphics object
*explicitely*, because extracting the with FullOptions can result in
added whitespace (at least in some cases).
Regards,
Yves
Am 23.04.2012 11:43, schrieb Yves Klett:
> ExportScaled[filename_,gfx_,format_:{210,297},opts___?OptionQ]:=Module[{mm},
> mm=72/25.4;
> Export[filename,Show[gfx,ImageSize->format*mm,ImageMargins->0,ImagePadding->None,AspectRatio->Automatic],opts]
> ]