我有一个矩形位图,我需要把它顺时针或逆时针旋转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);

08-04 05:29