Офицер: Как вставить картинку с исходной шириной и высотой

Как и в заголовке: я хочу добавить несколько внешних изображений в свой .docx документ. Но при использовании body_add_img мне нужно указать ширину и высоту. Есть ли способ установить их по ширине и высоте исходного изображения, которое будет добавлено?

Зачем мне это нужно? Мои изображения (около 50 из них) имеют разную ширину и высоту, поэтому было бы болезненно вручную указывать их ширину и высоту в (около 50) вызовах body_add_img.


person Łukasz Deryło    schedule 11.10.2019    source источник


Ответы (1)


Если ваше изображение в формате png, вы можете png::readPNG получить ширину и высоту в пикселях и разделить на свой DPI, чтобы получить размеры в дюймах. (Замените 300 на свой DPI)

dpi <- 300
img_size <- dim(png::readPNG('image/path/here.png'))/dpi

Редактировать: если вы хотите, чтобы dpi в документе было таким же, как dpi в изображении изначально (при условии, что ваш png имеет сохраненное dpi, я думаю, что не все), используйте dpi <- attr(readPNG('image.png', info=T), 'info')$dpi

person IceCreamToucan    schedule 11.10.2019
comment
info<-attr(readPNG('image.png', info=T), 'info') dims<-info$dim/info$dpi также работает без знания DPI. - person Łukasz Deryło; 11.10.2019