我目前正试图在我的应用中实现旋转功能,即播放图像。
该功能允许用户旋转图像-90度和+90度(切换横向/纵向模式)
这是我的代码:
public Bitmap rotateRight(Bitmap bm) {
Matrix matrix = new Matrix();
matrix.postRotate((float)90);
Bitmap nbm = Bitmap.createBitmap(bm, 0, 0, bm.getWidth(), bm.getHeight(), matrix, true);
nbm.setDensity(bm.getDensity());
return nbm;
}
之后,我将图像保存到文件系统。
这项工作完美,但如果我尝试旋转相同图像的5或6倍,则会出现问题。图像质量会下降,我最终会有一个非常丑陋的图像显示......
你可以帮帮我吗? 提前谢谢!答案 0 :(得分:2)
首先:createBitmap()
中的最后一个参数是否过滤生成的位图。当它设置为true时,每次执行此操作时,您的位图都会变得更加模糊"。由于您没有更改位图的大小,您可能希望将其关闭。
其次:确保将图像保存为无损格式,例如PNG。如果您保存为JPG或其他有损格式,即使将质量参数设置为最高,每次保存也会降低质量。