我目前正在尝试在我的应用程序中实现旋转功能,该功能正在播放图像。
该功能将允许用户将图像旋转-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次,问题就会出现。图像质量将会下降,我最终会有一个非常丑陋的图像来展示…
你能帮我吗?提前谢谢你!
发布于 2012-04-13 20:44:08
第一个:createBitmap()中的最后一个参数是是否过滤结果位图。因为它被设置为true,所以每次执行此操作时,您的位图将变得更加“模糊”。由于不更改位图的大小,因此可能需要将其关闭。
其次:确保将图像保存为无损格式,如PNG。如果保存为JPG或其他有损格式,即使将质量参数设置为最高,每次保存时也会始终降低质量。
https://stackoverflow.com/questions/10140950
复制相似问题