【问题标题】:increase png resolution when using saveHTML() {animation} in R在 R 中使用 saveHTML() {animation} 时增加 png 分辨率
【发布时间】:2015-08-20 15:28:54
【问题描述】:

我需要一种方法来提高 saveHTML() 创建的 png 文件的分辨率。

这是我正在尝试做的虚拟脚本,实际上 plot() 是许多嵌套循环:

x<-y<-rep(1,10)
saveHTML( for (i in 1:10){
plot.new()
plot.window(xlim=c(0,10),ylim=c(0,10))
plot(x[i],y[i])
}
,ani.dev="png",img.name="test",htmlfile="test")

我尝试过的一些事情: 1)使用 ani.options(ani.height,ani.width) 增加动画大小,但我只得到更大的颗粒状图像。 2) 在 saveHTML 表达式中调用 png() 设备并在那里设置分辨率,但最终我没有得到任何数字。 3) 调用一个新的 windows() 设备来绘制和设置窗口大小,但这同样不会增加分辨率。

我遇到的最直接的解决方法是使用 ffmpeg 创建高分辨率 png 和动画。但我还没有准备好重新编写我的脚本。

有没有人在 saveHTML() 函数中找到增加 png 分辨率的方法?

【问题讨论】:

  • 你是什么意思“更大的颗粒状图像”?我得到了我所期望的,一个更大的 png,就像我用那个宽度和高度调用 png 一样。你的png 驱动坏了吗?你能给我们指点截图吗?
  • @Spacedman 正如你所描述的,我得到了更大的(宽度 x 高度)图像,就好像我直接调用了 png 驱动程序一样。但我没有提高分辨率。所以结果是一个尺寸更大的图像被像素化到你几乎看不懂的地方。

标签: r animation png resolution figures


【解决方案1】:

您可以传递ani.dev = function(...){png(res=75*grain,...)},而不是传递ani.dev="png",其中grain 是某个数字> 1。如果您指定选项ani.height 和/或ani.width,并将这些值乘以相同的因子@ 987654326@,那么你通过这个因子有效地提高了输出的像素分辨率。

注意:上面的默认分辨率 75 可能取决于机器,我没有看到它记录在案。

【讨论】:

    猜你喜欢
    • 2021-11-10
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 2020-09-29
    • 1970-01-01
    • 2015-09-23
    相关资源
    最近更新 更多