我发现了几种解决方案,包括融合和更改色调,但是它们对我来说似乎都很笨拙。
我想知道是否有任何“正确”的方式为黑白图像着色-最好仅使用CoreImage而不编写自定义CIFilter。
答案 0 :(得分:2)
好吧,看来定制金属CIFilter毕竟是最简单的方法-
float4 colorize(sample_t s, float4 rgba) {
if (s.a == 0.0) {
return s.rgba;
} else {
rgba[3] = s.a;
return rgba;
}
}