8

我正在尝试将 pdf 图转换为 png 或 jpeg 文件。原因是我想使用图像进行演示,并且我需要两种格式,具有完全相同的尺寸/缩放比例。

我尝试了动画包中的函数 im.convert() ,但输出看起来非常糟糕,在 png 和 jpeg 中。

为了能够运行以下代码,您需要“动画”包和 ImageMagick 软件(http://www.imagemagick.org/script/convert.php

library("animation")
ani.options(outdir = getwd())

pdf("bm.pdf")
plot(1:10)
dev.off()

im.convert("bm.pdf", output = "bm.jpeg")
im.convert("bm.pdf", output = "bm.png")
4

1 回答 1

13

的结果im.convert可能并不令人满意,因为它使用默认分辨率,即 74 dpi。您可以通过传递额外的参数来增加分辨率:

im.convert("bm.pdf", output = "bm.png", extra.opts="-density 150")

-density 150将使分辨率翻倍,并且您的 PNG 和 JPEG 看起来会更好。

但总的来说,最好使用png()jpeg()生成绘图并使用适当的参数来获得与使用 相同的结果pdf()。例如:

pdf(width=5, height=5)
plot(1:10)
dev.off() 

png(width=5, height=5, units="in", res=150) 
plot(1:10)
dev.off()
于 2013-09-04T15:21:18.200 回答