2012-09-26 51 views
2

我想圍繞一個點旋轉圖像視圖。 imageview是指可繪製資源。圍繞某個角度旋轉一個圖像視圖

然後,我將imageview轉換爲位圖,以便我可以在畫布上繪製它。

隨着this的幫助下,我能夠繪製在畫布

imageView = new ImageView(this); 
    imageView.setImageResource(drawable); 
    imageView.setDrawingCacheEnabled(true); 
    imageView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 
      MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); 
    imageView.layout(0, 0, imageView.getMeasuredWidth(), imageView.getMeasuredHeight()); 
    imageView.buildDrawingCache(true); 
    Matrix matrix = new Matrix(); 
    matrix.setRotate(30,x, y); 
    canvas.drawBitmap(imageView.getDrawingCache(), matrix, paint); 

矩陣是不工作的繪製。圖像不在x,y點旋轉。

任何人都可以告訴我我的代碼中缺少什麼嗎?

回答

0

1st將矩陣轉換(固定)在該點,然後分別與該點一起旋轉。

Matrix matrix = new Matrix(); 
matrix.setTranslate(x,y); 
matrix.postRotate(30,x, y); 
canvas.drawBitmap(imageView.getDrawingCache(), matrix, paint);