Я хотел бы добавить информацию о параметрах к графикам, которые мы делаем в рамках нашего исследовательского проекта.Я знаю, что у png есть текстовый блок для добавления комментариев.(Я не эксперт png, но я думаю, что он использует блок tEXt.) Используя Gimp, в свойствах изображения вы можете добавить комментарий, который может быть прочитан другим программным обеспечением (например, «инспектором» в предварительном просмотре Mac. I 'я уверен, что есть эквивалент Windows).Мы делаем наши изображения с помощью ggsave.Я не видел никаких аргументов для ggsave, которые позволяют нам писать в блоке «Комментарий» в png-файле.Я пытался использовать функции png :: readPNG и png :: writePNG
im <- readPNG("test1.png",native=FALSE,info=TRUE)
md <- c(comment=paste0(date=date(),machine=Sys.info()['nodename']))
writePNG(image=im,target="test1_md1.png",text=md,metadata = md)
im2 <- readPNG("test1_md1.png",native=FALSE,info=TRUE)
attr(img2, "info")
Я могу открыть новый файл png, он выглядит так же, как старый.Однако блок комментариев не заполнен.Как видите, данные записываются в файл, но ни gimp, ни preview не могут их прочитать.Есть ли способ записать метаданные в блоке комментариев, чтобы превью и gimp могли правильно их прочитать?
Спасибо
update: ok, png :: writePNGна самом деле записывает в блок tEXt, однако ни gimp, ни preview не читают текстовый блок.Я написал простую Java-программу, которая читает блоки.
IHDR null javax.imageio.metadata.IIONamedNodeMap@133314b
width = 2580 height = 1800 bitDepth = 8 colorType = RGBAlpha compressionMethod = deflate filterMethod = adaptive interlaceMethod = none
tEXt null javax.imageio.metadata.IIONamedNodeMap@b1bc7ed
tEXtEntry null javax.imageio.metadata.IIONamedNodeMap@7cd84586
keyword = date value = Tue Dec 4 12:55:45 2018
tEXtEntry null javax.imageio.metadata.IIONamedNodeMap@30dae81
keyword = machine.nodename value = mycomputer.xyz.org
Есть ли где-нибудь отдельный блок комментариев?Это блок, в который я хочу записать.
обновление 2: Похоже, что gimp / preview прочитал блок iTXt.Поэтому возникает вопрос: могу ли я написать в блок iTXt из R.