Android:旋转位图的正确方法是什么?

时间:2014-08-30 14:15:21

标签: android matrix bitmap rotation

问题是当位图旋转“R0”度时,看起来它是否改变了枢轴点。我想要的是它围绕位图的中间旋转,但我不知道如何。

Bitmap bitmap = (Bitmap) BitmapFactory.decodeResource(getResources(), R.drawable.base);
       Matrix matrix = new Matrix();
       matrix.reset();
       matrix.setScale(bitmap.getWidth(), bitmap.getHeight());
       matrix.setTranslate(-bitmap.getHeight()/2, -bitmap.getHeight()/2);
       matrix.postRotate(R0);
       Bitmap b = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
       canvas.drawBitmap(b, x-24, y-40, null);

非常感谢。

1 个答案:

答案 0 :(得分:0)

尝试使用矩阵。postTranslate,而不是setTranslate,后者会重置您的矩阵,而setScale调用将不起作用。