R中的readChar无法读取tiff标签

时间:2015-06-14 04:19:51

标签: r tiff

我正在尝试读取一个小端格式的tiff文件。在Image File目录中,第一个标记值为0100(十六进制)。当我试图读取这2个字节时,它会得到以下结果。

>readChar(fptr,nchars=2,TRUE)
[1] ""
But when i read single bytes then it correctly gives
>readChar(fptr,nchars=1,TRUE)
[1] ""
>readChar(fptr,nchars=1,TRUE)
[1] "\001"
>

1 个答案:

答案 0 :(得分:1)

这是一个tiff文件:

filename <- "test.tiff"
tiff(filename)
plot(1)
dev.off()

您可以使用readBin以原始字节读取它。

n <- file.info(filename)$size
bytes <- readBin(filename, raw(), n = n)

您可能更愿意使用tiff::readTIFF来阅读。

library(tiff)
the_plot <- readTIFF(filename)

然后,您可以使用rasterImage将其包含在其他图表中。

plot(1, 1, 'n')
rasterImage(the_plot, 0.8, 0.8, 1.2, 1.2)