Canvas.drawVertices 为Canvas.drawBitmapMesh的通用格式, BitmapMesh 请参见 Android ApiDemos示例解析(55):Graphics->BitmapMesh
同样为图像加上绿色网格以便更好的显示drawVertices 效果:
canvas.drawVertices(Canvas.VertexMode.TRIANGLE_FAN, 10, mVerts, 0, mTexs, 0, null, 0, null, 0, 0, mPaint); canvas.translate(0, 240); canvas.drawVertices(Canvas.VertexMode.TRIANGLE_FAN, 10, mVerts, 0, mTexs, 0, null, 0, mIndices, 0, 6, mPaint);
具体算法不详述了,Canvas.VertexMode ,可以参见下图:
TRIANGLES
每隔三个顶点构成一个三角形,为多个三角形组成。
TRIANGLE_STRIP
每相邻三个顶点组成一个三角形,为一系列相接三角形构成。
TRIANGLE_FAN
以一个点为三角形公共顶点,组成一系列相邻的三角形。