将 Google 幻灯片 EMU 单位转换为像素 - API

Convert Google slides EMU units to pixels - API

我正在使用 Google API 获取给定 google 幻灯片演示中图片的裁剪、尺寸和缩放信息。我打算移植这些信息并将其用于将这些幻灯片发布为网页 (HTML) 或将相同的内容移植到 Google 文档(视情况而定)。

我面临的问题是我不清楚 EMU 单位如何映射到像素。

根据试错计算9525动车组好像是1个像素。

但是当我提到

有趣的是,这个系数是 2.54,也就是一英寸等于多少厘米。

我认为我可以使用 9525 转换系数进行管理,但这没有任何意义,我想确保我在正确的轨道上。 有人对此有一些了解吗?

根据documentation

An English Metric Unit (EMU) is defined as 1/360,000 of a centimeter and thus there are 914,400 EMUs per inch, and 12,700 EMUs per point.

我猜他们使用的单位与 CSS 相同。那样的话,你可以发现on the official specification 1英寸相当于96像素:

The reference pixel is the visual angle of one pixel on a device with a pixel density of 96dpi and a distance from the reader of an arm’s length. For a nominal arm’s length of 28 inches, the visual angle is therefore about 0.0213 degrees. For reading at arm’s length, 1px thus corresponds to about 0.26 mm (1/96 inch).

从那里数学很简单:

914,400 / 96 = 9525

这是你通过实验发现的。

参考资料

我认为每英寸的 EMU 数量以及每英寸的 PX 数量都有一个定义,因此根据图像的密度,转换系数是不同的。更多信息:OpenXML distance, size units