首页 文章

在Android中旋转矩形位图

提问于
浏览
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度到新的高度/宽度?可能一种可能的解决方案是首先修改原始位图的尺寸?

谢谢

1 回答

  • 0

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

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

相关问题