【发布时间】:2014-01-19 03:03:22
【问题描述】:
我正在画布上绘制许多形状。一种这样的形状是位图。假设画布上位图的中心位于xCenter, yCenter 中心,这样我就可以调用
xLeft = xCenter+mBitmap.getWidth()/2;
yTop = yCenter+mBitmap.getHeight()/2;
canvas.drawBitmap(mBitmap, x,y, mFilledPaint);
到目前为止一切正常。下一步是围绕中心xCenter, yCenter 旋转位图。我下面的代码没有这样做。它将位图移动到各处,而我想要的只是让图像围绕其自身的中心旋转到位。如何修复下面的代码?我已经看过Android: How to rotate a bitmap on a center point,充其量我不明白那里的反应。
我的代码
xLeft = xCenter+mBitmap.getWidth()/2;
yTop = yCenter+mBitmap.getHeight()/2;
matrix.postRotate(30f, xLeft, yTop);
canvas.drawBitmap(mBitmap, matrix, mFilledPaint);
也用 0 替换 xLeft 和 yTop 似乎不起作用.. 任何想法??
编辑:
xCenter, yCenter 不是画布的中心。它只是位图中心所在的点。
【问题讨论】:
-
我认为您的 xLeft 和 yTop 值可能有误,请尝试以下我在答案中发布的代码...
标签: android android-layout canvas bitmap