2

我正在尝试使用 R 保存一些图表以供发布。我想用 lzw 压缩它们并将分辨率设置为 300。由于某种原因,它不允许我这样做。事实上,R 似乎忽略了我设置的一些变量。

对于代码示例,

tiff(file="file.tiff", 
            width=6.83, height=6.83, units="in", 
            pointsize="12", compression = "lzw", 
            bg="white", res=300, antialias = "none" )

输出大小为 28 x 28 英寸、分辨率为 72 ppi 的未压缩文件。

一个可重现的例子是

hist(rnorm(1000))
dev.off()

这是 File.tiff 的 ImageMagick 的输出

Image: file.tiff
  Format: TIFF (Tagged Image File Format)
  Class: DirectClass
  Geometry: 2049x2049+0+0
  Units: PixelsPerInch
  Type: PaletteAlpha
  Base type: TrueColor
  Endianess: MSB
  Colorspace: sRGB
  ...
  Compression: None
  ...
  Filesize: 16.8MB

我在另一个运行 10.7 的 Apple 上对此进行了测试,得到了相同的结果。可以看出,即使使用选项压缩并将分辨率设置为 300 dpi,输出也不遵循选项。

4

1 回答 1

1

我通过附加在 GNU/Linux 上使用 R 2.15.1 验证了您的示例

hist(rnorm(1000))
dev.off()

接您的tiff()电话并"file.tiff"使用ImageMagick的命令行工具检查生成的文件identify(大部分输出省略):

Image: file.tiff
  Format: TIFF (Tagged Image File Format)
  Class: DirectClass
  Geometry: 2049x2049+0+0
  Resolution: 300x300
  Print size: 6.83x6.83
[...]
  Compression: LZW
[...]
  Filesize: 70KB
[...]

R 命令似乎完全按照您的意图执行。我怀疑您创建 TIFF 文件的方式不是您描述的方式,或者您用来检查 TIFF 文件属性的工具有问题。

于 2012-09-26T21:41:27.697 回答