转换颜色以模仿灰度打印

阅读this question时,我开始考虑是否可以转换颜色来模仿普通的灰度打印机(假设您的屏幕已校准)?找到可接受的近似值可以节省纸张.

例如,如何转换这些颜色以查看浅色和深蓝色和红色是否可以在纸上区分?

temp <- rgb2hsv(239, 138, 98, maxColorValue=255)
Rl <- hsv(h = temp[1,], s = 0.5, v = 1)
Rd <- hsv(h = temp[1,], s = 0.5, v = 0.4)
temp <- rgb2hsv(103, 169, 207, maxColorValue=255)
Cl <- hsv(h = temp[1,], s = temp[2,], v = 1)
Cd <- hsv(h = temp[1,], s = temp[2,], v = 0.4)

plot(1:4, type = "p", col = c(Rl, Rd, Cl, Cd), pch = 19, cex = 8, xlim = c(0,5), ylim = c(0,5))
最佳答案
使用色度设置为零的HCL调色板创建无法区分人眼的灰度值.

library(colorspace)
n <- 10
cols <- rainbow_hcl(n)
plot(seq_len(n), cex = 5, pch = 20, col = cols)

greys <- rainbow_hcl(n, c = 0)
plot(seq_len(n), cex = 5, pch = 20, col = greys)

如果要从原始颜色生成灰色,请使用scale包.

library(scales)
greys2 <- col2hcl(cols, c = 0)
plot(seq_len(n), cex = 5, pch = 20, col = greys2)

转载注明原文:转换颜色以模仿灰度打印 - 代码日志