3

我有一个矩形位图,我需要将它顺时针或逆时针旋转 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 度到新的高度/宽度?可能,一种可能的解决方案是先修改原始位图的尺寸?

谢谢

4

1 回答 1

0

Don't you use old values while creating new bitmap? Just replace them in the last line:

 return Bitmap.createBitmap(originalBitmap, 0, 0, originalBitmap.getWidth()/2, originalBitmap.getHeight()/2, matrix, true);
于 2011-06-07T16:02:32.890 回答