2011-10-28 50 views
0

我需要爲我的項目打開一個角度的圖像。在android中以角度繪製圖像

我瞭解canvas.rotate()代碼。但它會扭曲我的形象。

ctx.save(); 
ctx.rotate(30); 
ctx.drawImage(); 
ctx.restore(); 

是否有任何其他方式可以在一個角度繪製圖像。使用上述技術繪製圖像時是否有人遇到過失真問題?

BR, Jayshil

+0

給究竟你失真是什麼意思?如果旋轉圖像,它可能會被裁剪,因爲旋轉後的圖像與初始圖像的尺寸不同......發生了什麼,或者模糊了什麼? –

+0

@aleph_null它沒有被修剪。例如,如果圖像的傾斜,邊緣失去清晰度並變得波紋,圖像的形狀就會變形。我希望我現在清楚。 –

回答

0

OK找到了答案,

Matrix matrix = new Matrix(); 
matrix.postScale(scaleWidth, scaleHeight); 
matrix.postRotate(-25); 
Bitmap resizedBitmap = Bitmap.createBitmap(productImage, 0, 0, productImage.getWidth(), productImage.getHeight(), matrix, true); 

該解決方案是由http://www.anddev.org/resize_and_rotate_image_-_example-t621.html解決方案的靈感來自Maurl