我有一个矩形位图,我需要把它顺时针或逆时针旋转90度。
我可以使用以下代码进行旋转:
Matrix matrix = new Matrix();
matrix.setRotate(90, originalBitmap.getWidth()/2, originalBitmap.getHeight()/2);
return Bitmap.createBitmap(originalBitmap, 0, 0, originalBitmap.getWidth(), originalBitmap.getHeight(), matrix, true);
但是,此代码使用旧的高度/宽度值“原地”旋转图像。最终的图像看起来又长又丑。
有没有什么好方法可以将图像旋转90度,使其达到新的高度/宽度?可能,一种可能的解决方案是首先修改原始位图的尺寸?
谢谢
最佳答案
创建新位图时不使用旧值吗?把它们放在最后一行:
return Bitmap.createBitmap(originalBitmap, 0, 0, originalBitmap.getWidth()/2, originalBitmap.getHeight()/2, matrix, true);