我的系统似乎忽略了tiff()
中的分辨率和压缩选项(请参阅下面的信息)。这似乎与this SO question中讨论的问题相同;我在这里发布问题,以便我可以更加具体地了解我的系统。
例如以下代码,
x <- rnorm(1000)
tiff("example.tiff", height=3, width=5, units="in", res=200, compression="lzw")
hist(x)
dev.off()
产生一个表面看起来很好的.tiff文件,但是当我使用Photoshop查看图像大小时,我看到了这个
这与tiff()
创建具有正确像素数的文件一致,但是以英寸为单位的错误尺寸。 (当我想控制图像的字体大小和图像大小时,例如对于需要特定物理图像大小的出版物而言,这种差异会让我遇到麻烦。)
请注意,该文件也是2.5 MB,这对于3“-by-5”黑白lzw压缩的tiff来说似乎太大了。我怀疑压缩选项也被忽略了。
我的ggsave
(可能依赖于tiff()
)和png()
得到了相同的结果,所以这似乎是R和R的一般问题OSX处理图像文件。
我正在使用R Studio 0.97.449,在OSX 10.8上使用R 3.0.0,详情如下。
> sessionInfo()
R version 3.0.0 (2013-04-03)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.0.0
答案 0 :(得分:5)
我和你的R和OS X版本相同。当我运行您的示例然后使用ImageMagick调用图像详细信息时,我在控制台中看到以下内容(已编辑):
$ identify -verbose /Users/schaunw/Desktop/example.tiff
Image: /Users/schaunw/Desktop/example.tiff
Format: TIFF (Tagged Image File Format)
Class: DirectClass
Geometry: 1000x600+0+0
Units: PixelsPerInch
Type: GrayscaleAlpha
Endianess: MSB
Colorspace: Gray
Depth: 8-bit
Page geometry: 1000x600+0+0
Dispose: Undefined
Iterations: 0
Compression: None
Orientation: TopLeft
Filesize: 2.402MB
Number pixels: 600K
正如你所指出的那样,文件大小如果对于一个据说那么小的图像来说非常大,而且它显示出缺乏压缩。当我尝试更改type
函数中的tiff
参数时,问题的答案就出现了:OS X告诉我它不再支持X11,如果我想要我需要手动安装它使用它(见http://www.macrumors.com/2012/02/17/apple-removes-x11-in-os-x-mountain-lion-shifts-support-to-open-source-xquartz/)。
所以我安装了它,并再次运行了你的示例代码,但这次将type
设置为“cairo”。这是我之后从ImageMagick得到的:
$ identify -verbose /Users/schaunw/Desktop/example.tiff
Image: /Users/schaunw/Desktop/example.tiff
Format: TIFF (Tagged Image File Format)
Class: DirectClass
Geometry: 1000x600+0+0
Resolution: 200x200
Print size: 5x3
Units: PixelsPerInch
Type: Grayscale
Endianess: MSB
Colorspace: Gray
Depth: 8-bit
Page geometry: 1000x600+0+0
Dispose: Undefined
Iterations: 0
Compression: LZW
Orientation: TopLeft
Filesize: 19.8KB
Number pixels: 600K
请注意适当的小文件大小和LZW压缩,但另请注意,此时ImageMagick明确指出打印大小为5x3。它之前没有这样做。
所以看起来你的问题与OS X不再与X11一起发货了。安装X11应该可以解决您的问题。