我需要将应用中的图片发送到服务器。然而,在我发送它之前,我需要对它进行一些修改,如旋转它。我的问题是在将它发送到服务器之前知道保存它的质量。我试过了
bitmap.compress(CompressFormat.JPEG, 100, fileoutputstream);
之前的文件大小: 1.5mb - 3 mb后的文件大小 :( 所以看起来文件现在比以前更大了,我不确定质量是否更好(因为图像已经被压缩)。现在只是做
bitmap.compress(CompressFormat.JPEG, 80, fileoutputstream);
之前的文件大小: 1.5mb - 0.3 mb后的文件大小
如果质量达到80,那么我的图像质量将比之前低。 那么当用户拍照并将其保存到图库时,默认情况下Android会使用什么质量?如何以与以前相同的质量保存图像,而不会丢失任何内容?对于像instagram / 500px这样的应用,我们可以在将图片发送到服务器之前设置什么是可接受的图像质量? 50? 75? 80? 100?
答案 0 :(得分:0)
每次保存JPEG都会给您带来一些质量损失。即使您使用“100%质量”,也会发生一些有损压缩。
如何以与以前相同的质量保存图像,而不会丢失 什么?
如果没有质量损失,您无法保存jpeg。只有非常专业的软件可以在没有重新压缩的情况下做一些技巧,但旋转90度的功能非常有限。
如此确定,质量为80,我的质量将比以前低
那么Android默认使用什么质量
JPEG标准根本不定义百分比质量。如果在一个程序中使用“80%”,则在其他程序中可以与“50%”或“90%”相同。这只是某些编码器的数字。
答案 1 :(得分:0)
JPEG和PNG都是压缩模式。因此,它无法确保100%的质量。
对于JPEG,在我的情况下,我经常使用90%的高质量,使用70%的低质量。在opencv中,对于CV_IMWRITE_JPEG_QUALITY
,默认值为90%质量。
希望这有用。