如何在将GIF图片上传到服务器之前对其进行压缩?我尝试了一些Android库来压缩GIF图片,但它会将其转换为png图片。有什么办法可以压缩gif图像?
我在项目中使用位图。
示例代码:
ImageView carView = (ImageView) v.findViewById(R.id.imagen_cr7);
byte[] decodedString = Base64.decode(picture, Base64.NO_WRAP);
InputStream input=new ByteArrayInputStream(decodedString);
Bitmap ext_pic = BitmapFactory.decodeStream(input);
carView.setImageBitmap(ext_pic);
GIF是lossless图像压缩格式:它被设置为精确地再现图像。因此,没有“图像质量”滑块(如JPEG编码器中);尽管GIF可能比未压缩的格式小得多(例如许多相机RAW或常见的TIFF选项),但它可以走多远是有限制的。
此外,您应该知道GIF限制为每个像素8位。如果您的源图像是完整的24位,则必须进行抖动处理以适合256项调色板。因此,尽管GIF格式本身是无损的,但首先使用它所需要的图像处理可能是有损的。
您可以采取许多措施来减小图像文件的大小;您应该使用哪种图像取决于您所拥有的图像种类以及要使用的图像种类:
由于您没有提供有关需求的任何信息(您拥有什么样的图像,在哪里得到的以及需要什么,因此很难提出具体建议。
但是,您的GIF很有可能比特定应用需要的分辨率要高得多(导致选择#2。