-1

BitmapMesh とキャンバス上の円を描画するコードを次に示します。

canvas.drawBitmapMesh(GirlBitmap, WIDTH, HEIGHT, matrixVertsMoved, 0,  null, 0, null); // need to offset this by "addOffset"

canvas.drawCircle(pointX+addOffset, pointY, bubbleSize, p3);

どちらもaddOffsetによって x だけオフセットする必要があります。円ではうまくいきませんが、ビットマップのオフセットを作成する方法がわかりませんか?

何か案は?別のキャンバスに描いてから、古いキャンバスにオフセットを付けて描画する必要がありますか?

ありがとう!

4

1 に答える 1

8

あなただけtranslateCanvasできません(addOffset, 0)か?このような:

final int saveCount = canvas.save();
try {
    canvas.translate(addOffset, 0);

    canvas.drawBitmapMesh(GirlBitmap, WIDTH, HEIGHT, matrixVertsMoved, 0,  null, 0, null); 
    canvas.drawCircle(pointX, pointY, bubbleSize, p3);
} finally {
    canvas.restoreToCount(saveCount);
}
于 2012-04-24T18:11:39.833 に答える