我有一个存在多种颜色的图像(我们称之为蒙版)。我还有一个“选定”颜色的列表。我的渲染脚本制作了一个新图像,用作叠加层。如果遮罩和选定列表中都存在某种颜色,则该区域的叠加层应为红色,否则为绿色。
请注意,生成的图像,上面有红色蒙版,中间有一条绿线。我确保在创建第一张图像时关闭抗锯齿功能,因此“蒙版”中没有意外的颜色。但是,由于某种原因,它在我的渲染脚本中不被视为一种或另一种颜色。这是代码:
#pragma version(1)
#pragma rs java_package_name(za.co.overtake)
int*reds;
int*greens;
int*blues;
int imgWidth;
uchar4 RS_KERNEL root(uchar4 in, uint32_t x, uint32_t y) {
bool colourme = false;
for(int col = 0; col < imgWidth; col++){
const int red = reds[col];
const int green = greens[col];
const int blue = blues[col];
if (in.r == red && in.g == green && in.b == blue){
colourme = true;
}
}
if (colourme) {
in.r = 117;
in.g = 0;
in.b = 0;
in.a = 100;
} else if (in.a > 200) {
in.r = 10;
in.g = 60;
in.b = 10;
in.a = 100;
} else {
in.r = 0;
in.g = 0;
in.b = 0;
in.a = 0;
}
return in;
}
任何帮助将不胜感激。我还是新手,我永远被困住了!