在Android中旋转矩形位图

时间:2011-06-07 15:57:11

标签: android android-ui android-image

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

由于

1 个答案:

答案 0 :(得分:0)

创建新位图时不要使用旧值吗?只需在最后一行替换它们:

 return Bitmap.createBitmap(originalBitmap, 0, 0, originalBitmap.getWidth()/2, originalBitmap.getHeight()/2, matrix, true);