android - 如何在 Android Canvas 中使用 "inverted"绘图进行绘制?

标签 android canvas skia

我在 Canvas 上画了一些东西,我想画一个反色的圆圈:

canvas.drawCircle(zx, zy, 8f, myPaint);

如何配置 myPaint 使圆形像素的颜色与底层像素的颜色相反?

谢谢

最佳答案

试试这个

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);

关于android - 如何在 Android Canvas 中使用 "inverted"绘图进行绘制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5941926/

相关文章:

javascript - html5 <canvas> 在 Opera 11 上速度极慢?

c++ - 如何将 C++ 项目的 Skia 库链接到 Xcode

skia - 如何在 Windows 上编译skia

android - 大图像抛出 OutOfMemoryError

android - Osmdroid:渲染具有透明度的图 block

c# - 使用 wpf 将形状添加到 Canvas 的最佳方法?

javascript - chrome 和 firefox 中 canvas.getContext ("2d").getImageData(x,y,1,1).data 的问题

android - Skia 中的非均匀文本缩放(FreeType 2 后端)

android - NDK 应用程序相当于 System.nanoTime() 吗?

java - 无法添加窗口 - token null 不适用于广播接收器 OnReceive 内的应用程序