当前位置:首页 » 安卓系统 » android图片压缩不失真

android图片压缩不失真

发布时间: 2022-08-06 05:33:33

❶ 怎么样把图片缩小到100K一下,宽度和高度都不变的情况下,图片尽量不失真

推荐你用这个在线图片压缩工具,想把图片文件的大小减到多少都行,比如你直接设置一下压缩数值到100kb,几秒钟就能把图片的文件大小压缩到100kb了,你想要设定压缩到多少kb,他压缩完输出的图片就是多少kb。你可以选择不变动宽高试试效果。在线智能压缩图片大小,图片压缩体积,PNG|JPG大图缩小

在线图片智能压缩使用步骤:

一、首先点击加号添加需要压缩的图片。目前已知支持对jpg、png等多种常见的图片格式进行压缩,如果上传图片并压缩成功,则代表支持该图片格式。
二、可以自行修改图片需要被压缩到的最大宽高尺寸,默认为图片原始的宽高尺寸,且宽高比例是自动锁定的。
三、必须设置图片被压缩后,期望输出的图片文件的最大占用空间。(必填项)
四、选择图片生成的算法。默认为混合优先算法,绝大多数情况下使用默认算法即可。
五、压缩的设定值不能小于1Kb,但图片压缩的最终效果可以小于1Kb。

❷ 如何压缩图片可以不失真

1、压缩图像的存贮空间,是以牺牲图像质量为代价的,只要压缩图像,图像的质量就会受到影响。
2、压缩图像,只是争取尽可能地降低影响程度,在一定的范围内,保证肉眼看不出来。
3、压缩图像,可以使用专业的压缩工具,如 JPEGImager

❸ android 图片压缩

在文件管理里面长按图片会出现设置面板,选中压缩图片即可以。

❹ 怎样压缩图片可以不失真

图片数据压缩方法很多,分为有损压缩和无损压缩两大类,多数图片数据压缩如JPG压缩图片文件格式,采用的都是有损压缩,压缩比越大,图片的细节损失越多;还有一种TIF图片文件格式,既可以有损压缩,也可以选择ZIP无损压缩,无损压缩的平均压缩比是50%左右,压缩比较小,但是不会损失图片细节。做到不失真,首选无损压缩,或者采用高保真(降低压缩比)的有损压缩。

❺ android compress 压缩 会不会失真

微信的缩略图要求是不大于32k,这就需要对我的图片进行压缩。试了几种方法,一一道来。

代码如下

ByteArrayOutputStream baos = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 100 , baos);
int options = 100 ;
while ( baos.toByteArray().length / 1024 > 32 ) {
baos.reset();
image.compress(Bitmap.CompressFormat.JPEG, options, baos);
options -= 10 ;
}
ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());
Bitmap bitmap = BitmapFactory.decodeStream(isBm, null , null );
最开始使用这个来进行压缩,但是始终压缩不到32k这么小。后来看高手的解释才明白,这种压缩方法之所以称之为质量压缩,是因为它不会减少图片的像素。它是在保持像素的前提下改变图片的位深及透明度等,来达到压缩图片的目的。进过它压缩的图片文件大小会有改变,但是导入成bitmap后占得内存是不变的。因为要保持像素不变,所以它就无法无限压缩,到达一个值之后就不会继续变小了。显然这个方法并不适用与缩略图,其实也不适用于想通过压缩图片减少内存的适用,仅仅适用于想在保证图片质量的同时减少文件大小的情况而已。
2、采样率压缩法:

代码如下

ByteArrayOutputStream out = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 100, out);
BitmapFactory.Options newOpts = new BitmapFactory.Options();
int be = 2;
newOpts.inSampleSize = be;
ByteArrayInputStream isBm = new ByteArrayInputStream(out.toByteArray());
Bitmap bitmap = BitmapFactory.decodeStream(isBm, null , null );
第二个使用的是这个方法,可以将图片压缩到足够小,但是也有一些问题。因为采样率是整数,所以不能很好的保证图片的质量。如我们需要的是在2和3采样率之间,用2的话图片就大了一点,但是用3的话图片质量就会有很明显的下降。这样也无法完全满足我的需要。不过这个方法的好处是大大的缩小了内存的使用,在读存储器上的图片时,如果不需要高清的效果,可以先只读取图片的边,通过宽和高设定好取样率后再加载图片,这样就不会过多的占用内存。如下

BitmapFactory.Options newOpts = new BitmapFactory.Options();
newOpts.inJustDecodeBounds = true ;
Bitmap bitmap = BitmapFactory.decodeFile(path,newOpts);
newOpts.inJustDecodeBounds = false ;
int w = newOpts.outWidth;
int h = newOpts.outHeight;
//计算出取样率
newOpts.inSampleSize = be;
bitmap = BitmapFactory.decodeFile(srcPath, newOpts);
这样的好处是不会先将大图片读入内存,大大减少了内存的使用,也不必考虑将大图片读入内存后的释放事宜。
转载

❻ 如何将图片压缩到最小,但要不失真

Photoshop打开图片 将图片另存为 选择一种格式 选PNG或JPG的 下边可以设置图片大小 如果图片多的话可以用他的图象处理器功能 把你要转换的图片放到一个文件夹下 选取这个文件夹 自动的把很多图片都放缩到你想要的大小

安卓手机怎么压缩图片并且保持尺寸不变

部分手机支持解压功能。操作:我的文件-(设备存储)-菜单键-选择项目(选项)-勾选需要解压缩的文件-菜单键-压缩文档-创建压缩文件名称-确定即可,文件压缩格式为ZIP。
如需解压缩文件:勾选ZIP格式的压缩文件-菜单键-解压缩至目前文件夹。

❽ Android 如何缩小图片不失真

private Matrix matrix=new Matrix();
matrix.postScale(0.5f, 0.5f);
Bitmap temp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);

❾ android关于照片压缩上传不失真的或失真很小的

我看过你的代码,你现在的问题是保存路径没弄好是不是?getAlbumDir()这里先判断一下有没有外部SD卡,没有再保存到内存里。

❿ android中压缩图片的几种方法比较

图片有三种存在形式:硬盘上时是file,网络传输时是stream,内存中是stream或bitmap,所谓的质量压缩,它其实只能实现对 file的影响,你可以把一个file转成bitmap再转成file,或者直接将一个bitmap转成file时,这个最终的file是被压缩过的,但 是中间的bitmap并没有被压缩(或者说几乎没有被压缩,我不确定),因为bigmap在内存中的大小是按像素计算的,也就是width * height,对于质量压缩,并不会改变图片的像素,所以就算质量被压缩了,但是bitmap在内存的占有率还是没变小,但你做成file时,它确实变小 了;
而尺寸压缩由于是减小了图片的像素,所以它直接对bitmap产生了影响,当然最终的file也是相对的变小了;

热点内容
javasocket读取 发布:2025-01-19 16:59:48 浏览:336
魅族路由器在哪里设置密码 发布:2025-01-19 16:59:45 浏览:657
经济与发展数据库 发布:2025-01-19 16:59:44 浏览:727
出国访问夺权 发布:2025-01-19 16:57:22 浏览:591
vb打开共享文件夹 发布:2025-01-19 16:57:11 浏览:484
怎么查询手机wifi密码 发布:2025-01-19 16:41:31 浏览:187
linux编辑图片 发布:2025-01-19 16:37:55 浏览:167
sql数据对比 发布:2025-01-19 16:32:09 浏览:232
magnet下载ftp 发布:2025-01-19 16:27:07 浏览:318
注册密码下划线是什么意思 发布:2025-01-19 16:23:58 浏览:806