/ / Zapisz z urządzenia jako plik tiff CMYK wysokiej rozdzielczości - r, rozdzielczość, tiff

Zapisz z urządzenia jako plik tiff CMYK wysokiej rozdzielczości - r, rozdzielczość, tiff

Muszę zapisać swoje działki w R jako plik tiff w wysokiej rozdzielczości i używając kolormodelu CMYK do publikacji w określonym czasopiśmie. Próbowałem czegoś takiego:

tiff("test.tiff", colormodel = "cmyk")

kod....

par(mfrow=c(1,2))
plot()

więcej kodu ..

par(new=TRUE)
plot()

Niestety to nie działa.

Próbowałem też EPS, ale witryna publikująca ma ten tester jakości grafiki online i nie udało mi się uzyskać zbyt niskiej rozdzielczości plików EPS.

Oto działający przykład podobny pod względem koncepcji do tego, czego potrzebuję.

tiff(file = "test.tiff", res = 1200, colormodel = "cmyk")
par(mfrow=c(1,2))
plot(1,3)
par(new=TRUE)
plot(3,5)
plot(2,3)
par(new=TRUE)
plot(4,2)
dev.print(tiff, file = "test.tiff", width = 1680, height = 1050)

To nadal nie działa. Witryna publikująca twierdzi, że nadal jest w formacie RGB, a rozdzielczość wynosi tylko 72 dpi. Masz jakieś przemyślenia?

Odpowiedzi:

1 dla odpowiedzi № 1

Możesz wygenerować plik png (w przestrzeni RGB) w R

png("/tmp/a.png", width=6, height=6, units="cm", res=1200)
plot(1)
dev.off()

i przekonwertować na TIFF poza R. Na przykład z ImageMagick:

convert -colorspace CMYK a.png a.tiff
identify -verbose a.tiff   # To check the result
# Image: a.tiff
#   Format: TIFF (Tagged Image File Format)
#   Class: DirectClass
#   Geometry: 2834x2834+0+0
#   Resolution: 472.44x472.44
#   Print size: 5.99865x5.99865
#   Units: PixelsPerCentimeter
#   Type: ColorSeparation
#   Base type: ColorSeparation
#   Endianess: MSB
#   Colorspace: CMYK
#   ...