ргл: как сделать снимки с более высоким разрешением? - PullRequest
1 голос
/ 05 февраля 2020

Для книги я хочу показать два изображения rgl бок о бок, как на рисунке ниже. Но издатель хочет изображения с разрешением не менее 300 dpi.

enter image description here

Я создал это, используя код ниже, чтобы получить два отдельных изображения с rgl.snapshot() и затем объединили их в одно изображение с другим программным обеспечением.

  • Как изменить код ниже, чтобы сохранить каждое изображение с более высоким разрешением? Я получаю изображения размером ~ 256 x 256 пикселей с разрешением 72 dpi.
  • Существует ли другой драйвер устройства, который можно использовать с rgl.snapshot?

  • Есть ли способ объединить их в одно изображение, используя R?

    data(randu)

    # Figure 9.15 - 3D plots
    library(rgl)
    with(randu, plot3d(x, y, z, size=6, axes=FALSE, 
                       xlab = "", ylab = "", zlab = ""))
    box3d(col="gray")

    # left panel                   
    rgl.snapshot("randu0.png")
    # right panel                   
    rgl.viewpoint(theta = -3.8, phi = 3.8, fov = 0, zoom = 0.7)
    rgl.snapshot("randu.png")

1 Ответ

2 голосов
/ 05 февраля 2020

Сохранить в формате eps с rgl.postscript. Затем преобразуйте в png с помощью GhostScript (gs).

data(randu)
library(rgl)
with(randu, plot3d(x, y, z, size=6, axes=FALSE, 
                   xlab = "", ylab = "", zlab = ""))
box3d(col="gray")

# save in eps format
rgl.postscript("randu.eps")

# convert to png
cmd <- 
  "gs -dSAFER -dBATCH -dNOPAUSE -dEPSCrop -sDEVICE=png16m -r600 -sOutputFile=randu.png randu.eps"
system(cmd)

Вы можете использовать ImageMagick для добавления двух изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...