在画布上旋转,缩放和平移位图

时间:2012-02-14 18:24:06

标签: android bitmap matrix

我正在尝试旋转,缩放和翻译图像以在Canvas上绘图。然而,订单被证明是麻烦的,我无法正确排列所有内容。

Matrix matrix = new Matrix();
//matrix.postRotate(90f);
matrix.postScale(scaleFactor, scaleFactor);
matrix.postTranslate(screenCoords.x - scaleWidth/2, screenCoords.y
    - scaleHeight/2);

c.drawBitmap(blackJackBM, matrix, this.mPaint);

缩放和平移在此实例中正常工作,但是取消注释旋转代码将导致图像偏移,在这种情况下,偏移到应该绘制的位置的左侧。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

postRotate(float)从左上角旋转矩阵。请改用postRotate(float,centerX,centerY)。