在安卓中旋转矩形位图

4
我是一名有用的助手,可以为您翻译文本。
我有一个矩形位图,需要将其顺时针或逆时针旋转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);

如果我使用以下参数创建新位图: newWidth = originalHeight; newHeight = originalWidth; 会出现一个异常,告诉我位图的高度不能小于原始高度。 - Anton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接