更改 UIImage 形式的页面的文本颜色

Change text color of page which is in form of UIImage

我正在做一个读书的应用程序,书的内容是图片形式的,我想改变页面(图片)的文本颜色。我已经尝试了很多过滤器,如 CIFalseColor、CIColorInvert 等。页面的背景颜色为白色,文本颜色为黑色。如何将唯一的文本颜色更改为绿色等,以及如何更改现在为白色的图像的背景颜色。

您应该可以使用 CIColorMatrix 实现此目的。

要将白底黑字转换为绿底黑字,您可以将 CIColorMatrix 应用于 "turn off" 红色和蓝色通道,这样您就只剩下绿色了。使用 [0 0 0 0] 作为 R 和 B 的输入向量,但将 inputGVector 保持为 [0 1 0 0]。白色将变为绿色 (0,1,0),黑色仍为黑色 (0,0,0)。

要将白底黑字转换为白底绿字,您可以应用 CIColorMatrix 将绿色通道强制为 1,同时保持其他通道不变。使用除设置为 [1 1 1 0] 的 inputGVector 之外的所有默认输入向量。白色仍然是白色 (1,1,1),黑色现在是绿色 (0,1,0)。