android - 方法 drawVertices() 没有在 Android Canvas 上绘制任何东西

标签 android canvas

我想画三角形,多边形

要绘制三角形,我使用我在互联网上找到的这种方法:

this.p.setStyle(Paint.Style.STROKE);
    int triangleColors[] = {
            this.p.getColor(), this.p.getColor(), this.p.getColor(),
            this.p.getColor(), this.p.getColor(), this.p.getColor()
        };

    float verts[] = {
            ptsFloat.get(0).x, ptsFloat.get(0).y,
            ptsFloat.get(1).x, ptsFloat.get(1).y,
            ptsFloat.get(2).x, ptsFloat.get(2).y
    };
    c.drawVertices(Canvas.VertexMode.TRIANGLES, 
        verts.length, 
        verts, 
        0, 
        null,
        0,
        triangleColors,
        0,
        null, 
        0,
        0,
        this.p);

但是结果是null,我什么都没画... 而 drawLine、drawCircle 工作得很好,你知道为什么这个方法不起作用吗?此外,我的 logcat 控制台中没有任何帮助我的痕迹!

最佳答案

好的 因此,在亲自尝试之后,我意识到问题出在您的颜色阵列上。如果您为每个点使用相同的颜色,那么您不需要该数组。 getColor() 函数没有返回您需要的 int 值。如果您需要不同的颜色,请使用 Color.X 将该颜色分配给三角形的那部分。

关于android - 方法 drawVertices() 没有在 Android Canvas 上绘制任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10579382/

相关文章:

java - SWT Canvas PaintListener() 被错误调用

java - Android Studio变量最终声明问题

javascript - 用html5 canvas和html和javascript画图速度有什么区别?

用于几何形状的 Python Canvas 库

java - Eclipse VM 不会运行 Java 1.6

html - 如何使 Firefox 全屏模式像 Chrome 一样(即不拉伸(stretch)内容)

javascript - 为什么对图像进行着色不起作用?

android - 动画师只能在 Sherlock 操作栏上的 Looper 线程上运行

android - Android 上的空 AdWhirl 布局(不显示广告)

android - 如何关闭 BluetoothSocket 在 Android 中的屏幕旋转?