我在画布上画了一些东西,我想要画一个倒置的圆圈:
canvas.drawCircle(zx, zy, 8f, myPaint);
如何将圆形像素的myPaint
配置为基础像素的反色?
由于
答案 0 :(得分:4)
试试这个
float mx [] = {
-1.0f, 0.0f, 0.0f, 1.0f, 0.0f,
0.0f, -1.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, -1.0f, 1.0f, 0.0f,
1.0f, 1.0f, 1.0f, 1.0f, 0.0f
};
ColorMatrix cm = new ColorMatrix(mx);
p.setColorFilter(new ColorMatrixColorFilter(cm));
canvas.drawCircle(zx, zy, 8f, p);
答案 1 :(得分:3)
我会说反转的颜色矩阵应如下所示:
float mx [] = {
-1.0f, 0.0f, 0.0f, 0.0f, 255.0f,
0.0f, -1.0f, 0.0f, 0.0f, 255.0f,
0.0f, 0.0f, -1.0f, 0.0f, 255.0f,
0.0f, 0.0f, 0.0f, 1.0f, 0.0f
};
Here是矩阵的更多信息:
答案 2 :(得分:-3)
myPaint.setColor(Integer.MAX_VALUE - color);