2012-04-21 278 views
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

回答

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);