Какую единицу измерения мы получаем из prs.slides [4] .shapes [3] .width, где prs - объект представления в python-pptx? - PullRequest
1 голос
/ 22 марта 2019

Какая единица измерения числа мы получаем из prs.slides [4] .shapes [3] .width, где prs - объект представления в python-pptx? В справке написано английские метрические единицы, но цифры, которые я получаю, не соответствуют этому.

1 Ответ

0 голосов
/ 22 марта 2019

Английская метрическая единица измерения (EMU) составляет 1 / 914400th от дюйма, выбранная (или, возможно, изобретенная) Microsoft, поскольку она позволяет указывать положение и размер графического объекта (фигуры) как integer (и, следовательно, избегать вычислений с плавающей точкой, связанных, в основном, с производительностью), при этом позволяя выражать расстояния как в дюймах (английский), так и в метрах (метрические) в точных целых числах.

Коэффициенты 914400 много, но определенно включают 25,4 (мм в дюйме), 72 (точки в дюйме);все 2, 4, 8, 16 и 32 (все обычные дробные дюймы) и 100 (так, десятичные дюймы с разрешением 0,01 дюйма, обычно доступные в пользовательском интерфейсе PowerPoint для английского языка США.

Как правило,объект, возвращаемый свойством расстояния формы (left, top, width, height), является подклассом объекта Emu, который имеет свойства .inches, .pts, .cm и .mm, которые будут выполнять преобразование дляВы в float общие единицы измерения. Так что-то вроде:

>>> shape.width.cm
2.54
>>> shape.width.inches
1.0
>>> shape.width.pts
72.0
...