Android图片压缩有几种
时间: 2023-11-10 10:42:34 浏览: 110
Android图片压缩主要有以下几种方法:
1. 质量压缩:通过改变图片的压缩质量来减小图片的文件大小,不会减小图片的分辨率,但会导致图片失真。
2. 尺寸压缩:通过改变图片的宽高来减小图片的文件大小,会导致图片的分辨率下降。
3. 缩放压缩:通过缩放图片的尺寸来减小图片的文件大小,既可以改变图片的宽高,又可以减小图片的文件大小。
4. 采样率压缩:通过降低图片的像素密度来减小图片的文件大小,可以在一定程度上减小图片的分辨率。
5. WebP格式压缩:使用Google开发的WebP格式来存储图片,可以将图片的文件大小降低到原来的三分之一左右,同时保持较高的图像质量。
相关问题
android 图片数据流压缩
在Android中,图片数据流压缩通常是为了减少网络传输或存储空间的需求,提高性能。你可以通过以下几种方式进行图片数据流的压缩:
1. **Bitmap Compress**:使用`Bitmap.compress()`方法,如JPEG或PNG压缩。例如:
```java
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 80, stream); // 设置压缩质量(0-100)
byte[] compressedData = stream.toByteArray();
```
2. **九宫格采样(InSampleSize)**:`BitmapFactory.Options`里的`inSampleSize`属性可以降低图片分辨率,减少内存占用:
```java
options.inJustDecodeBounds = true; // 只获取边界信息
options.inSampleSize = calculateInSampleSize(options, width, height);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image, options);
```
3. **Compressor Library**:使用第三方库如Glide、Picasso或Fresco等,它们提供了更高级的图片处理和压缩功能。
4. **WebP格式**:WebP是一种高效的图片格式,比JPEG和PNG更小。Android从API 21开始支持WebP,可通过`Compress.format`设置为WebP。
android bitmap压缩压缩方式
Android中常用的Bitmap压缩方式有以下几种:
1. 质量压缩:使用Bitmap的compress方法,将图片的质量压缩至指定的大小,但是图片的像素大小不会改变。
2. 尺寸压缩:使用BitmapFactory.Options的inSampleSize属性,将图片的像素大小压缩至指定的尺寸,但是图片的质量会有所下降。
3. RGB_565压缩:使用BitmapFactory.Options的inPreferredConfig属性,将图片的像素格式从ARGB_8888压缩至RGB_565,减少内存占用。
4. JNI压缩:使用JNI调用C/C++代码进行图片压缩,可以压缩至指定的像素大小和质量,但是需要对C/C++有一定的了解。
需要根据具体情况选择合适的压缩方式。
阅读全文