我正在尝试旋转,缩放和翻译图像以在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);
缩放和平移在此实例中正常工作,但是取消注释旋转代码将导致图像偏移,在这种情况下,偏移到应该绘制的位置的左侧。有什么想法吗?
答案 0 :(得分:3)
postRotate(float)从左上角旋转矩阵。请改用postRotate(float,centerX,centerY)。