0

我有一个想要旋转的图像,比如手表指针。问题是,无论我在枢轴点(在 matrix.setrotate 中)放置什么,它仍然旋转相同。这是我的代码:

c = holder.lockCanvas();
matrix.setRotate((float) degre * 4, 500, 500);
Bitmap to_rotate = Bitmap.createBitmap(watch_hand, 0, 0, watch_hand.getWidth(), watch_hand.getHeight(), matrix, false);
c.drawARGB(255, 255, 255, 255);
c.drawBitmap(background, 0, 0, null);
c.drawBitmap(to_rotate, CENTER_X - 20 , CENTER_Y - height / 2 + 20, null);
holder.unlockCanvasAndPost(c);

我能做些什么?

我希望图像在“CENTER_X,CENTER_Y.

4

1 回答 1

0

我找到了答案。我用了这个,它工作正常:

canvas = holder.lockCanvas(); 

matrixUP.setTranslate(CENTER_X - watch_hand.getWidth()/2, height/4 - watch_hand.getHeight() - 40); matrixUP.preRotate((float) degreUP , watch_hand.getWidth()/2 , watch_hand.getHeight()-10); canvas.drawBitmap(watch_hand, matrixUP, null); 

holder.unlockCanvasAndPost(canvas);
于 2012-04-23T10:17:54.733 回答