帮助我了解如何在PIXI中更改颜色 有一张红色的图片 假设 对于prtimerna,有必要将颜色从红色更改为绿色。 但是这样阴影仍然存在,也就是说,给定了基调。
我可以逐像素地完成。 如果有关于算法的想法,我也将非常感激
var cR = baseData[i];
var cG = baseData[i + 1];
var cB = baseData[i + 2];
if (alpha) {
currentData[i + 3] = alpha[i / COMPONETNS_PER_PIXEL];
} else {
currentData[i + 3] = baseData[i + 3];
}
if (cR === cG && cR === cB) {
currentData[i] = currentData[i + 1] = currentData[i + 2] = cR * brightness;
continue;
}
var gray = Math.min(cR, cG, cB);
// parts should be red
var percent = (cR - gray) / 255;
currentData[i] = (cR + (color.r - 255) * percent) * brightness;
currentData[i + 1] = (cG + color.g * percent) * brightness;
currentData[i + 2] = (cB + color.b * percent * 0.9) * brightness;
但我想将此更改为VVGL 我非常感谢你的帮助
答案 0 :(得分:0)
我有一个提示,但遗憾的是没有完整的答案。我检查了所有pixi示例一次,并试图理解the one with a color filter。
在该示例中,colormatrix滤镜应用于“ app.stage.filters”,它正在替换颜色。
它使用以下代码:
var filter = new PIXI.filters.ColorMatrixFilter();
app.stage.filters = [filter];
app.ticker.add(function(delta) {
count += 0.1;
var matrix = filter.matrix;
matrix[1] = Math.sin(count) * 3;
matrix[2] = Math.cos(count);
matrix[3] = Math.cos(count) * 1.5;
matrix[4] = Math.sin(count / 3) * 2;
matrix[5] = Math.sin(count / 2);
matrix[6] = Math.sin(count / 4);
}
矩阵参数的Pixi Documentation has the following description不利于理解:
颜色矩阵滤镜的矩阵。 默认值: [1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]
我还在this image中发现了this Post about Flash,我认为它描述了矩阵的参数和转换。
我尝试使用这些资源创建自己的过滤器,但失败了,没有时间再尝试。