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

时间:2012-05-14 07:52:29

标签: 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);

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

1 个答案:

答案 0 :(得分:1)

好的所以在为自己尝试之后我意识到问题是你的颜色数组。如果您为每个点使用相同的颜色,则不需要该数组。 getColor()函数不返回您需要的int值。如果您需要不同的颜色,请使用Color.X将该颜色分配给三角形的那一部分。