1

在我的 Android 项目中,我有一个矩阵,用于在画布上绘制位图。在我的 drawFrame 方法中,我沿 Y 方向平移矩阵,因此看起来位图正在向上移动。它确实向上移动,但它也被绘制在之前的位置,留下了自身的倍数。这是我的drawFrame代码:

Canvas canvas = null;
canvas = holder.lockCanvas();

Matrix moveMatrix = new Matrix ();
moveMatrix.postTranslate(0, 10);
matrix.preConcat(moveMatrix);

canvas.drawBitmap(bitmap, matrix, null);

holder.unlockCanvasAndPost(canvas);

“矩阵”是一个全局矩阵成员。

有谁知道为什么这会在屏幕上留下“条纹”的位图痕迹?

谢谢!

我忘了提到每次位图移动时,每个先前的位图位置似乎都会在 y 方向上上下移动。所以它最终得到了一串位图,看起来像是上下抖动。这意味着每帧都必须重新绘制每个位图,否则它们都会静止不动。

4

1 回答 1

1

您需要清除位图上一个位置的 Canvas :)

于 2011-07-24T00:47:53.920 回答