我想绘制一个矩形(或多个),在打印时以厘米为单位显示在纸张上。
Graphics[{Rectangle[{0, 0}, {19, 28}], Orange, Rectangle[{0, 0}, {1, 1}]}]
将打印出两个矩形,可以测量为恰好1cm x 1cm(橙色的那个),黑色的那个为19x28 cm。
似乎有些变量很重要: ImageSize
和当然是 AspectRatio
。
我使用了AspectRatio->19/28
和对于ImageSize
的各种设置,例如ImageSize->{19*27,28*27}
,但仍然不太准确。
我将图形导出为TIFF格式,然后使用Windows照片库打印到全页照片。是否有人对此有经验?必须有一个公式而不是试错。
更新: 我尝试了@Szabolcs的建议,使用了以下代码:
g = Graphics[{White, EdgeForm[Directive[Thick, Black]],
Rectangle[{0, 0}, {18, 28}], Orange, Rectangle[{0, 0}, {10, 10}]}]
final = Show[g, AspectRatio -> Automatic,
PlotRange -> {{-0.5, 18.5}, {-0.5, 28.5}}]
cm = 72/2.54
Export["final.pdf", Show[final, ImageSize -> {19 cm, 29 cm}]]
这个很好用。10x10cm的橙色矩形被精确测量后就是10x10cm。
我原本以为Windows使用96dpi,Mac使用72dpi(从网上了解到),所以72/2.54不是我预期的值。然而,72是可行的值。 我也尝试过调整框架,但效果很丑陋。尽管我已经尝试了所有可能的设置,但仍然无法得到正确的结果。应该可以通过在选定的边界内自己创建框架/标记等方式来实现,但这不是我想要追求的路径。
Magnification->1
打印并导出为PDF,并保持屏幕上的原始外观:请参见我的答案“General PDF/EMF export problems and solutons”(https://dev59.com/nuo6XIcBkEYKwwoYTS1D#6124065),以及这个问题:“Font sizes print smaller than indicated”(https://dev59.com/J1fUa4cB1Zd3GeqPIHbX)。 - Alexey Popkov