Я хочу чтобы нарисовать прямоугольник (или более), который напечатан на бумаге, показывает прямоугольник в сантиметрах. Таким образом,
Graphics[{Rectangle[{0, 0}, {19, 28}], Orange, Rectangle[{0, 0}, {1, 1}]}]
будет распечатан в виде двух прямоугольников, размер которых может составлять 1 см x 1 см (оранжевый), а размер черного - 19 x 28 см.
Кажется, что некоторые переменные важны:
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}]]
Это отлично работает. Оранжевый прямоугольник 10x10 см соответствует точному измерению 10x10 см
, значение 72 / 2,54 см не было тем, что я ожидал, так как я, хотя Windows использует 96 точек на дюйм и Mac 72 точек на дюйм (чтение с www). Однако 72 - это значение, которое работает. Я тоже не играл с рамками, но потом становится некрасиво. Не нашел способа добиться нужных результатов, несмотря на то, что играл со всеми возможными настройками. Что должно сработать, так это создать сами рамки / отметки и т. Д. Внутри выбранных границ, но это не тот путь, по которому я хотел бы идти ..