Используя PyX, как я могу установить размер холста? - PullRequest
0 голосов
/ 10 февраля 2020

Вопрос новичка с использованием PyX в Python 3.8.1.

Я создаю файл EPS и хотел бы, чтобы размер холста составлял 70 мм х 70 мм. Как я могу это сделать?

from pyx import *
# build and size canvas
c = canvas.canvas()
c.fill(path.circle(2.5, 1.5, 0.5))
c.writeEPSfile("my-output")
print("Done!")

Файл .eps, который я получаю, - это размер элемента, который я добавил, но я бы хотел, чтобы это был квадрат 70 мм. Любая помощь приветствуется!

Ответы [ 2 ]

0 голосов
/ 12 февраля 2020

Спасибо, это сработало! Мое изображение в разных ориентациях, поэтому я получил:

if blnFlip == True:
        MasterCanvas.items[i].writeEPSfile("my_output", page_bbox=bbox.bbox(llx_pt=-CanvasSizeCm, lly_pt=-CanvasSizeCm, urx_pt=0, ury_pt=0))
else:
        MasterCanvas.items[i].writeEPSfile("my_output", page_bbox=bbox.bbox(llx_pt=0, lly_pt=-CanvasSizeCm, urx_pt=CanvasSizeCm, ury_pt=0))
0 голосов
/ 11 февраля 2020

Ограничительная рамка является свойством page (см. document.page ). В странице метода writeEPSfile параметры можно задать с помощью префикса page_ (см. Документацию writeEPSfile ), поэтому следующий код создает запрошенный вывод:

from pyx import *
from pyx import bbox
# build and size canvas
c = canvas.canvas()
c.fill(path.circle(2.5, 1.5, 0.5))
c.writeEPSfile("my-output", page_bbox=bbox.bbox(0, 0, 7, 7))
print("Done!")

Обратите внимание, что bbox модуль не является частью имен модулей по умолчанию, импортируемых *, поэтому требуется вторая строка импорта.

...