2012-04-26 4 views
0

[Canvas.drawVertices Javadoc](http://developer.android.com/reference/android/graphics/Canvas.html#drawVertices(android.graphics.Canvas.VertexMode、int、float []、int、 float []、int、int []、int、short []、int、int、android.graphics.Paint))nullをペイントとして渡すと有効です。texsパラメータがnullの場合も同様です。Paintオブジェクトを渡さないと、Canvas.drawVerticesがnullポインタ例外を送出するのはなぜですか?

をペイントtexs配列がnullである場合に使用するシェーダーを指定し

ペイント用nulldrawVerticesメソッドを呼び出すとき、これは、NULLポインタ例外が発生します。

答えて

1

内部的には、塗料がnullの場合にNullPointerExceptionが発生します

nativeDrawVertices(mNativeCanvas, mode.nativeInt, vertexCount, verts, 
        vertOffset, texs, texOffset, colors, colorOffset, 
        indices, indexOffset, indexCount, paint.mNativePaint); 

paint.mNativePaint呼び出すため。ここでペイントはnullにはなれないと教えてくれました:)

塗料なしの塗りつぶしは、ペイントが線種などを定義しているため論理的ではないようです。また、文書にはpaint is optionalが記載されていません。

+0

お返事ありがとうございます。私の使用目的は 'colors'配列を使って三角形が塗りつぶされる色を定義することでした。 (今働いている) –

関連する問題