在做微信分享时遇到分享图片太大而导致无法分享,下面是压缩图片大小代码
//图片大小压缩
public static Bitmap compressImage(Bitmap image) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中
int options = 100;
while ( baos.toByteArray().length / 1024>100) { //循环判断如果压缩后图片是否大于100kb,大于继续压缩
baos.reset();//重置baos即清空baos
image.compress(Bitmap.CompressFormat.JPEG, options, baos);//这里压缩options%,把压缩后的数据存放到baos中
options -= 10;//每次都减少10
}
ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());//把压缩后的数据baos存放到ByteArrayInputStream中
Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);//把ByteArrayInputStream数据生成图片
return bitmap;
}
分享到:
相关推荐
在Android中,图片通常先被加载为`Bitmap`对象,然后通过调整其质量和尺寸来实现压缩。 1. **BitmapFactory加载策略**: 使用`BitmapFactory.decodeFile()`或`decodeStream()`等方法加载图片时,可以通过设置`...
在Android中使用libjpeg进行图片无损压缩,首先需要将libjpeg库集成到项目中。这通常涉及到将库编译为适合Android平台的本地库(.so文件),然后通过Java Native Interface (JNI) 或者Android Studio的C++支持来调用...
在Android中,Bitmap类的`compress(Bitmap.CompressFormat format, int quality, OutputStream stream)`方法允许我们设置JPEG的质量(0-100,数值越小,质量越低,文件越小)。这种方法可以在保持原始尺寸的同时,...
在Android中,我们可以使用`Bitmap.compress()`方法,传入`Bitmap.CompressFormat.JPEG`或`Bitmap.CompressFormat.PNG`,并设置一个0到100之间的压缩质量值。值越低,压缩程度越大,文件大小越小,但可能会导致图像...
首先,我们要了解Android中图片压缩的基本原理。Android支持多种图片格式,如JPEG、PNG等。常见的图片压缩方法是通过改变图片的质量(对于JPEG)或无损压缩(对于PNG)来减少文件大小。然而,这种压缩方式并不一定能...
传统的图片压缩方法可能会牺牲画质以换取更小的文件大小,而Luban库通过智能算法实现了在保持图片质量的同时进行有效压缩,这对于那些需要高质量图片展示的应用来说是极其有价值的。 Luban的使用方式相对简单,...
- **尺寸压缩**:通过调整Bitmap的宽度和高度,可以显著减小图片大小。可以使用`Bitmap.createScaledBitmap()`来创建一个缩放后的Bitmap。 3. **保存压缩图片**:使用`FileOutputStream`将压缩后的Bitmap写入文件...
在Android开发中,图片处理是一项常见且重要的任务,特别是在移动设备资源有限的情况下,高效地压缩图片以节省存储空间和提高应用性能是必要的。本篇主要介绍如何基于JNI(Java Native Interface)技术实现图片的...
本文将深入探讨如何在Android中压缩图片,同时保持图片质量不变。 首先,我们要理解“图片质量”在图像处理中的含义。通常,图片质量与图片的位深度、颜色模式和压缩算法有关。在不失真的情况下,降低图片质量通常...
本示例主要探讨如何在Android中实现图片的压缩,包括压缩前后的效果对比以及在手机文件管理器中查看实际大小变化。我们将深入讨论以下几个关键知识点: 1. **图片压缩原理**:图片压缩通常是通过降低图片质量、...
Android图片压缩方法并压缩到指定大小 Android图片压缩是一种常用的...我们可以使用图片质量压缩和按比例大小压缩两种方法来将图片压缩到指定大小。这些方法可以用于减少图片的大小,使其更适合在移动设备上显示。
本解决方案旨在探讨如何有效压缩Android中的图片,避免ANR现象,提高用户体验。 首先,理解ANR全称为Application Not Responding,当Android系统检测到主线程被阻塞超过5秒钟时,就会向用户显示ANR对话框。图片加载...
在Android开发中,我们可以使用多种方法实现图片压缩。例如,使用BitmapFactory的decode方法,配合Options对象的inSampleSize属性,可以设置图片解码时的缩放比例,从而降低图片的分辨率,达到压缩的目的。这种方法...
它们能自动处理图片大小,避免内存溢出,并且支持动态调整图片大小和质量。 7. **压缩算法**: 对于有损压缩,JPEG使用DCT(离散余弦变换);对于无损压缩,PNG采用色块压缩。开发者还可以自定义压缩算法,例如...
本教程将详细介绍如何在Android中实现图片压缩以及旋转相机拍摄图片的角度。 一、图片压缩 1. **选择压缩库**:在Android开发中,有许多优秀的开源库可以帮助我们进行图片压缩,如 Glide、Picasso 和 Fresco。这些...
首先,我们来探讨一下Android中图片压缩的基本原理。Android提供了多种API来处理图像,例如Bitmap类,它提供了丰富的图像操作功能,包括加载、绘制和压缩等。图片压缩通常涉及两个主要方面:质量压缩和尺寸压缩。...
在Android中,我们可以使用多种API来实现图片压缩。以下是几个常用的方法: 1. **BitmapFactory.Options**:这个类提供了丰富的选项来解码图片。通过设置`inSampleSize`,我们可以实现图片的等比例缩放,这是一种...
二、Android中的图片压缩库 在Android开发中,有许多第三方库支持无损图片压缩,例如: 1. Glide:Glide是一个强大的图片加载库,它提供了图片压缩功能,可以设置压缩质量、尺寸等参数,同时支持多种图片格式。 2...
理解并正确处理Android中的图片压缩与缓存至关重要,不仅可以提升用户体验,还能防止因内存管理不当引发的程序崩溃。通过合理的缩放、选择适当的Bitmap配置,以及利用内存和磁盘缓存,可以显著优化应用性能。同时,...