2011-10-28 47 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