Java 无损图像旋转
我目前正在尝试在我的应用程序中实现一个旋转功能,该应用程序正在播放图像 该功能允许用户将图像旋转-90度和+90度(切换横向/纵向模式) 这是我的密码:Java 无损图像旋转,java,android,image,jpeg,rotation,Java,Android,Image,Jpeg,Rotation,我目前正在尝试在我的应用程序中实现一个旋转功能,该应用程序正在播放图像 该功能允许用户将图像旋转-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.
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次相同的图像,就会出现问题。图像质量将下降,我将最终有一个非常丑陋的图像显示
你能帮我吗?
提前谢谢你 First:
createBitmap()
中的最后一个参数是是否过滤生成的位图。设置为true时,每次执行此操作时,位图都会变得稍微“模糊”。由于不更改位图的大小,因此可能需要关闭此选项
其次:确保将图像保存为无损格式,如PNG。如果保存为JPG或其他有损格式,则每次保存都会降低质量,即使将质量参数设置为最高。Perfect!这正是我要找的!谢谢大家!@我很乐意帮忙!请接受答案以结束问题:)