【发布时间】:2019-10-11 21:40:29
【问题描述】:
就像标题一样:我想在我的.docx 文档中添加几个外部图像。但是当使用body_add_img 时,我需要指定宽度和高度。有没有办法将它们设置为要添加的原始图像的宽度和高度?
为什么我需要它?我的图片(大约 50 张)具有不同的宽度和高度,因此手动将它们的宽度和高度放入(大约 50 个)body_add_img 调用中会很痛苦。
【问题讨论】:
就像标题一样:我想在我的.docx 文档中添加几个外部图像。但是当使用body_add_img 时,我需要指定宽度和高度。有没有办法将它们设置为要添加的原始图像的宽度和高度?
为什么我需要它?我的图片(大约 50 张)具有不同的宽度和高度,因此手动将它们的宽度和高度放入(大约 50 个)body_add_img 调用中会很痛苦。
【问题讨论】:
如果您的图像是 png,您可以png::readPNG 获取以像素为单位的宽度和高度,然后除以您的 DPI 以获取以英寸为单位的尺寸。 (将 300 替换为您的 DPI)
dpi <- 300
img_size <- dim(png::readPNG('image/path/here.png'))/dpi
编辑:
如果您希望 doc 中的 dpi 与本机图像中的 dpi 相同(假设您的 png 已存储 dpi,我认为并非所有人都这样做),请使用 dpi <- attr(readPNG('image.png', info=T), 'info')$dpi
【讨论】:
info<-attr(readPNG('image.png', info=T), 'info') dims<-info$dim/info$dpi 也可以在不需要实际 DPI 知识的情况下工作