在我的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);" Matrix“是一个全局矩阵成员。
有人知道为什么这会在屏幕上留下位图的“裸奔”痕迹吗?
谢谢!
我忘了提到,每次位图移动时,前面的每个位图位置似乎都会在y方向上上下移动。所以它最终得到了一串看起来像是上下抖动的位图。这将意味着每个位图都必须在每一帧中重新绘制,否则它们都将静止不动。
发布于 2011-07-24 08:47:54
您需要在位图的前一个位置清除画布:)
https://stackoverflow.com/questions/6803373
复制相似问题