图片压缩_图片压缩器 - CSDN
精华内容
参与话题
  • 6种最好的图片无损压缩工具

    万次阅读 多人点赞 2018-07-13 09:36:21
    第一:Tinypng地址:https://tinypng.com/这款工具我实在是太喜欢了,经常用到,最大限度的做到对画质无损的进行压缩这个工具他同时支持对Jpg和Png的压缩。Tinypng也支持Wordpress和magento的使用。Wordpress插件...

    第一:Tinypng

    地址:https://tinypng.com/

    这款工具我实在是太喜欢了,经常用到,最大限度的做到对画质无损的进行压缩

    这个工具他同时支持对Jpg和Png的压缩。Tinypng也支持Wordpress和magento的使用。

    Wordpress插件下载:https://wordpress.org/plugins/tiny-compress-images/

    Magento的拓展工具:http://suo.im/2oZEMl

    第二:Compressor.io

    地址:https://compressor.io/compress

    使用Compressor很简单,只要上传图片就可以自动的压缩

    如图所示,压缩之后的图片还可以保存在Google Drive 或者是Dropbox 上,这非常的方便。

    另外Compressor支持压缩下面几种格式的照片:

    JPEG

    PNG

    GIF

    SVG

    第三:Kraken.io

    工具地址:https://kraken.io/web-interface

    这个工具也是我常用的,我很喜欢他的一个功能是,你可以把Zip中的文件一次性导入到工具中进行压缩,同时它支持不同的格式同时进行压缩,如下图所示:

    第四:Giftofspeed

    JPG压缩:https://www.giftofspeed.com/jpg-compressor/

    Png压缩:https://www.giftofspeed.com/png-compressor/

    Giftofspeed相对上面几款工具来说,单独的把JPG,Png分开来测试,这个我觉得很麻烦。

    但是Giftofspeed有一些功能是我很喜欢的,比如下图,你可以输入你的网址,然后这个工具会建议你对图片进行优化,这样你就可以发现很多问题。

    测试地址:https://www.giftofspeed.com/image-delivery/

    另外Giftofspeed 其实还提供了很多有用的工具,几乎能一站的检测你的网站,

    地址:https://www.giftofspeed.com/tools/

    第五: OptimiZilla

    地址:http://optimizilla.com/

    这个工具可以批量上传和批量压缩图片,一次可以上传20张图片;

    这个工具还有一个比较有意思的功能是,他的压缩程度大小可以有你自己来调节,而且是尽量的不改变画质,如上图所示,你可以看到 Quaility的条件按钮。

    第六:Imagerecycle

    工具地址:https://www.imagerecycle.com/

    这个工具可以对图片和PDF进行压缩,同时他也提供了对网站进行分析,只要你输入URL就可以得出报告。

    上面这几款图片优化工具是我比较常用的,我自己做网站,或者博客,在上传图片的时候,必须要优化一遍才可以上传,长此以往,会为你的网站省很多空间有利于网站打开速度的提高。

    最后在介绍一款,我觉得很强大的工具,这款工具很牛,可以把PDF,转化成各种格式,如Pdf转换成DOC,DOCX,TEX,JPG,PNG。也可以把各种格式转换成PDF….

    链接地址:http://toepub.com/

    展开全文
  • 图片的三种压缩方法

    千次阅读 2016-08-28 14:45:44
    在android程序开发中我们经常见到需要上传图片的场景,在这里有个技术点,需要把图片压缩处理,然后再进行上传。这样可以减少流量的消耗,提高图片的上传速度等问题。 关于android如何压缩,网上的资料也是很多,但...
    • 在android程序开发中我们经常见到需要上传图片的场景,在这里有个技术点,需要把图片压缩处理,然后再进行上传。这样可以减少流量的消耗,提高图片的上传速度等问题。
      关于android如何压缩,网上的资料也是很多,但大多数都是代码片段,讲解压缩步骤,而没有一个实用的工具类库。那么如何将压缩算法封装成一个实用工具库呢?其中会遇到些什么问题,比如:
      1.需要压缩的图片有多少
      2.压缩后的图片是覆盖还是保存到另外的目录
      3.如果是另存目录需要将原始图片删除吗
      4.如果改变压缩后的图片的尺寸大小是按照原图的比例缩小还是直接指定大小
      5.如果原图有旋转问题,需不需要进行修正
      6.对于多图压缩是并发还是线性的处理
      7.能不能使用service来进行压缩处理,是local(本地)还是remote(远程)的方式来启动service
      8.如果需要压缩的图片非常多,如何使用线程池来处理
      基于以上几点的思考,本人打算写个系列文章来一步一步解决这些问题(忘大家持续关注),将Service,多线程的使用及压缩算法集合到一个项目中。这样不仅在实际应用中还是作为学习资料来讲都是比较好的。最终我会将这个系列中涉及的代码及迭代的过程开源到github,欢迎大家star,欢迎递交bug。
      当然有些朋友可能会说实际应用中一次上传的图片数量不会太多吧,考虑这些问题是不是有点多虑了,好吧,如果您真是这么认为的那么可以忽略本系列文章。
      实际需求中基本都会是按照原图的宽高比进行压缩,直接指定尺寸大小的比较少见,所以本系列文章也是针对这种等比率压缩来进行的。

    • 总之,对图片进行压缩,大家主要关注两点:
      1.对图片的尺寸大小进行缩放来达到压缩的目的
      2.对图片进行质量压缩

    对图片的尺寸大小进行缩放来达到压缩的目的
    针对这种情况及图片旋转问题,大家可以参考我的 android处理拍照旋转问题及带来的对内存占用的思考 这篇文章。
    只是大家需要注意的是,这里需要按照原始图片的宽高比(srcRatio)来计算最终输出图片的宽高(actualOutWidth,actualOutHeight),最后通过actualOutWidth,actualOutHeight来计算采样值sampleSize。
    核心代码如下:

    LGImageCompressor.java
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inJustDecodeBounds = true;
    BitmapFactory.decodeFile(srcImagePath, options);
    //根据原始图片的宽高比和期望的输出图片的宽高比计算最终输出的图片的宽和高
    float srcWidth = options.outWidth;
    float srcHeight = options.outHeight;
    float maxWidth = outWidth;//期望输出的图片宽度
    float maxHeight = outHeight;//期望输出的图片高度
    float srcRatio = srcWidth / srcHeight;
    float outRatio = maxWidth / maxHeight;
    float actualOutWidth = srcWidth;//最终输出的图片宽度
    float actualOutHeight = srcHeight;//最终输出的图片高度
    if (srcWidth > maxWidth || srcHeight > maxHeight) {
    if (srcRatio < outRatio) {
    actualOutHeight = maxHeight;
    actualOutWidth = actualOutHeight * srcRatio;
    } else if (srcRatio > outRatio) {
    actualOutWidth = maxWidth;
    actualOutHeight = actualOutWidth / srcRatio;
    } else {
    actualOutWidth = maxWidth;
    actualOutHeight = maxHeight;
    }
    }
    //计算sampleSize
    options.inSampleSize = computSampleSize(options, actualOutWidth, actualOutHeigh

    为了方便大家理解以上代码,举个极端例子:
    假如原始图片宽为srcWidth=40,高为srcHeight=20。期望输出的宽为maxWidth=300,高为maxHeight=10。 那么srcRatio=40:20=2,outRatio=300:10=30. 显然srcRatio

    public boolean compress(CompressFormat format, int quality, OutputStream stre

    三个参数的理解应该不难,大家可以查看官方doc文档。compress方法主要通过quality来控制输入到stream中的像素质量。
    这针对希望输出的图片占用的空间不大于一定的值这种场景会比较合适,因为我们可以通过循环判断压缩后的大小是否大于定值,如果满足则减少quality继续执行compress操作。核心代码如下:

    /进行有损压缩
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    int options_ = 100;
    actualOutBitmap.compress(Bitmap.CompressFormat.JPEG, options_, baos);//质量压缩方法,把压缩后的数据存放到baos中 (100表示不压缩,0表示压缩到最小)
    int baosLength = baos.toByteArray().length;
    while (baosLength / 1024 > maxFileSize) {//循环判断如果压缩后图片是否大于maxMemmorrySize,大于继续压缩
    baos.reset();//重置baos即让下一次的写入覆盖之前的内容
    options_ = Math.max(0, options_ - 10);//图片质量每次减少10
    actualOutBitmap.compress(Bitmap.CompressFormat.JPEG, options_, baos);//将压缩后的图片保存到baos中
    baosLength = baos.toByteArray().length;
    if (options_ == 0)//如果图片的质量已降到最低则,不再进行压缩
    break;
    } 

    压缩一个超大图是要费时间的,所以大家应该考虑将压缩放到后台线程中执行,如果没有高并发的需求使用AsyncTask就能解决问题。
    核心代码:

    private class CompressTask extends AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... params) {
    return compressImage();//执行压缩操作
    }
    @Override
    protected void onPreExecute() {
    if (compressListener != null) {
    compressListener.onCompressStart();//监听回调(开始压缩)
    }
    }
    @Override
    protected void onPostExecute(String imageOutPath) {
    if (compressListener != null) {
    compressListener.onCompressEnd(imageOutPath);//监听回调(压缩结束)
    }
    }
    } 

    经过适当的封装代码可以通过在Activity中的执行

    LGImgCompressor.getInstance(this).withListener(this).starCompress(Uri.fromFile(imageFile).toString(),outWidth,outHeight,maxFileSize);
    

    来启动压缩任务
    写在最后
    为了达到最佳的压缩结果,可以将上面两种方案同时进行。如果压缩消耗的时间很长,需要将压缩过程放入后台线程中执行。
    本人写了个简单的demo程序,实现的功能有:
    1.开启摄像头拍摄照片
    2.指定照片的存储位置
    3.压缩照片到指定目录下
    4.使用AsyncTask执行压缩操作
    5.显示压缩后的照片及其相关信息到前台activity
    由于这个版本是使用AsyncTask异步任务来执行compress的,而AsyncTask由于android版本分裂问题有些版本是多线程的,有些版本是单线程的,也是醉了,总之此版本适用于一次压缩任务不是很多的情况,如果需要处理数据很大的压缩任务,需要考虑用线程池来处理。
    另外,如何结合使用service和多线程会在下篇文章具体说明。
    demo开源github地址如下:
    LGImageCompressor
    以上所述是小编给大家介绍的Android图片压缩上传之基础篇的相关知识

    展开全文
  • java高清无损图片压缩

    万次阅读 2019-03-29 22:46:57
    Java高清无损图片压缩 (本文禁止转载,如需转载请联系本人:微信/QQ同号:969987665)简单介绍thumbnailator-0.4.5.jar 官方下载网址语法使用(超级简单的,再也没有比这个再简单的东西)一、保持和原图像一样的宽高...

    简单介绍

    一开始用了数据流缩放图片,用完以后,心里好几百只草泥马一直在奔腾。。。完全就是辣鸡压缩。找了好久才发现了新大陆。
    Thumbnailator 是一个用来生成图像缩略图的 Java类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。有了这玩意,就不用在费心思使用Image I/O API,Java 2D API等等来生成缩略图了。

    thumbnailator-0.4.5.jar 官方下载网址

    http://www.java2s.com/Code/Jar/t/Downloadthumbnailator042alljar.htm
    

    语法使用(超级简单的,再也没有比这个再简单的东西)

    一、保持和原图像一样的宽高比

    如果需要的话,在生成缩略图的时候可以保持和源图像一样的的宽高比
    //第一种
    Thumbnails.of(new File("original.jpg"))
    .size(160, 160)
    .toFile(new File("thumbnail.jpg"));
    
    //第二种写法 最简洁写法   与第一种不同的是直接传 图片路径
    Thumbnails.of("original.jpg")
    .size(160, 160)
    .toFile("thumbnail.jpg");
    

    二、生成一个带有旋转和水印的缩略图

    Thumbnails.of(new File("original.jpg"))
    .size(160, 160)
    .rotate(90)  //可选   删除后图片不旋转
    .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("watermark.png")), 0.5f)
    .outputQuality(0.8f)
    .toFile(new File("image-with-watermark.jpg"));
    这段代码是从original.jpg这张图片生成最大尺寸160*160(可选项:顺时针旋转90°)水印放在右下角,50%的透明度,80%的质量压缩的缩略图。
    把生成的图片输出到输出流(OutPutStream)中
    

    三、可以根据现有的图片生成高质量的缩略图

    支持生成经过旋转后的缩略图

    for (int i : new int[] {0, 90, 180, 270, 45}) {
    Thumbnails.of(new File("coobird.png"))
    .size(100, 100)
    .rotate(i)
    .toFile(new File("image-rotated-" + i + ".png"));
    }
    
    参考:https://www.jianshu.com/p/fe6dba734f17
    展开全文
  • 超级图片压缩工具

    2020-07-30 23:33:31
    超级图片压缩工具---可以让1M的图片压缩成几十K的大小,而且不失真,效果超好
  • 墙裂推荐9个在线图片压缩网站

    万次阅读 2018-11-07 14:53:32
    Tinypng可以说是很受大家欢迎的一个图片压缩站点,不管对于前端工程师或者设计师来说都是一个不错的图片压缩工具。Tinypng的操作方式也十分的简单,上传、压缩、下载,流程十分的简单,网站不仅仅支...

    转载自:https://www.zcool.com.cn/article/ZNTQzNDYw.html?switchPage=on
    1.Tinypng

    网址:https://tinypng.com/

    9082599bbe18a801215603fb1d2f.jpg

    Tinypng可以说是很受大家欢迎的一个图片压缩站点,不管对于前端工程师或者设计师来说都是一个不错的图片压缩工具。Tinypng的操作方式也十分的简单,上传、压缩、下载,流程十分的简单,网站不仅仅支持png格式的图片,jpg、gif格式的图片也是支持的。虽然Tinypng每个月有500张图片的限制,但我想应该完全可以满足你的需求了,如果你的需求更多的话,可以开通Tingpng为你提供的会员专线。不过Tinypng的功能可以说算是无损压缩了,大家可以尝试一下。

    2.智图

    网址:http://zhitu.isux.us/

    ed37599bbe3fa8012156034586da.jpg

    大家通过智图网站的域名可以看出来,智图客户端是由腾讯ISUX前端团队开发的一款图片智能压缩工具。智图支持图片格式转换,还能将图片以最优的格式进行压缩,其功能包括针对png,jpeg,gif等各类格式图片的压缩,以及为上传图片自动选择最优的图片格式。同时,智图平台还会为用户转换一份webp格式的图片。智图目前的是完全免费的,并且拥有PC端,大家也可以下载进行使用。

    3.Ioveimg

    网址:http://www.iloveimg.com/zh_cn

    9265599bbe61a801215603a07113.jpg

    Iloveimg不仅仅是一款图片压缩工具,在它的官网上大家其实可以看到图片压缩只是它众多功能中的一个小功能,Iloveimg还支持图片的裁剪、图片的格式转换以及大小调整等功能。Iloveimg网站支持的图片格式也是蛮多的,JPG、PNG、GIF等图片格式都是支持的,如果你的图片是其它格式的话,你也可以通过它本身提供的格式转换工具进行图片格式转换。当然免费帐户也是有图片数量的限制,如果你需求量很大的话,可以选择它的会员套餐。

    4.Jpeg

    网址:https://www.jpeg.io/

    4031599bbe76a801215603dc76c1.jpg

    Jpeg是一个十分简单的图片格式转换和图片压缩的站点,不过它最终将不同格式的图片经过算法统一转换成Jpeg的格式,你可以选择任何其它格式的图片进行压缩和转换。图片格式支持JPG, PNG, GIF, SVG, BMP, EPS, PSD, TIFF and WEBP,如果你的图片的最终格式是JPEG的话,我想它应该可以满足你的需求,并且网站是免费的,你可以尽情的享用。

    5.Jpegmini

    网址:http://www.jpegmini.com/

    02ef599bbe8fa801215603525c36.jpg

    Jpegmini本身是一个在线的网站,但现在开发出了支持Windows和Mac的版本,同时还有Adobe Lightroom和Photoshop的相应的插件,网站支持的图片的无损压缩率大概在80%,已经相当高了。网站同时也是支持比较常见的图片格式,不过如果你想尝试更大质量的图片格式的话,建议你下载网站开发的Windows和Mac客户端,将提供更好的图片转换和压缩体验。

    6.Imagify

    网址:https://imagify.io/optimizer/#page

    92e4599bbea3a801215603841f55.jpg

    Imagery本身是为Wordpress网站提供的一个图片压缩的外挂,可以让你在Worpress网站上上传图片时对图片进行压缩处理。不过现在Imagify也为大家提供了网络在线的一些工具,免费的账户的话有一些图片的限制,每次上传和下载的图片的大小不能超过2M,优化后的图片将保存24小时。不过免费的账户已经完全可以满足我们的需求了。

    7.压缩图
    网址:https://www.yasuotu.com
    image.png

    8.图片压缩
    网址:http://www.660660.top
    image.png

    9.Img.top
    网址:https://img.top
    image.png

    展开全文
  • 一、图片压缩 Android 中图片是以 Bitmap 形式存在的,而且 Bitmap 是比较占内存的。所以,如果能对 Bitmap 进行压缩,对内存优化这块有很大的帮助。我们首先需要知道 Bitmap 占用内存的计算方式: 图片长上的...
  • 1:首先需要将一款压缩软件安装到自己的电脑中,打开软件找到图片压缩,点击图片压缩进入到压缩的页面。 2:在压缩的页面找到添加文件以及添加文件夹,将需要压缩的图片文件添加到压缩的页面中,添加文件夹就是将...
  • 5 款最好用的图片无损压缩工具

    千次阅读 2018-12-18 13:35:20
    这款工具我最常用的,实在是太喜欢了,经常用到,最大限度的做到对画质无损的进行压缩,推荐! 这个工具他同时支持对Jpg和Png的压缩。Tinypng也支持Wordpress和magento的使用。 Wordpress插件下载:...
  • 压缩图片

    2016-03-18 18:02:28
    //对图片尺寸进行压缩-- + (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize {  // Create a graphics image context  UIGraphicsBeginImageContext(newSize);    // ...
  • 如何压缩图片大小并保证图片分辨率不变 社保图片证件照要求怎么达到 快速压缩图片 改变图片大小 像素不变 分辨率不变
  • js实现图片压缩 — 用Canvas做媒介

    千次阅读 2018-05-26 20:22:49
    转载自:http://www.zhangxinxu.com/wordpress/2017/07/html5-canvas-image-compress-upload/一、图片上传前端压缩的现实意义对于大尺寸图片的上传,在前端进行压缩除了省流量外,最大的意义是极大的提高了用户体验...
  • 在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩);质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的...
  • Squoosh 是由 Google Chrome Labs 开源的一款适配当前所有主流浏览器的图片压缩工具,可以帮助开发大幅提升图片压缩效率。通过调节图片属性可以体验不同数值所带来的图片变化,并和原图进行对比,压缩图片做到定制化...
  • 使用node.js实现图片压缩

    万次阅读 2018-08-24 15:10:41
    处理图片往往会遇到图片压缩的问题,使用Windows系统自带的画图软件或者其它图像处理软件一般都能够实现图片的压缩,但是只能是单张处理,如果涉及到大批量的图片压缩的话,一张一张处理起来会相当麻烦。因此,可以...
  • 降低PNG图片存储大小方法,图片压缩方法,如何降低PNG图片存储大小?前提是分辨率和尺寸大小不变,图形的透明部分不变。请看如下办法,亲测可用。1. 将PNG图片用PS打开。2. 图像-模式-8位/通道 (这样在后续存储时才...
  • 本人在做项目中需要用到图片压缩功能,进行图片快速加载显示及读取,同时记录下来后在此分享给大家,希望对有需要的同行有一定的帮助,觉得不错的麻烦点赞或留言,如有转载请私信作者并标明原文出处,谢谢 ...
  • flutter图片压缩库对比

    千次阅读 2020-06-11 13:43:14
    flutter图片压缩库对比flutter图片压缩库对比flutter_luban压缩介绍 flutter图片压缩库对比 最近在做flutter的项目的时候用到了图片上传和图片压缩,开始使用的压缩库是flutter_luban,压缩的效果不错,但是在一些...
  • Java 图片压缩的两种方式

    万次阅读 2018-07-13 14:09:00
    Java 图片压缩的两种方式 问题背景 在客户端和服务器中,不可避免的会遇到客户端从服务器获取图片数据用于显示的情形。在实际使用中,由于原图清晰度高,考虑到效率问题,我们不可能拿原图进行显示,服务端一般都...
  • 深度学习之图片压缩技术

    千次阅读 2018-03-06 14:32:12
    现在深度学习技术已进入图片压缩领域。 本文将和大家分享如何使用深度学习卷积神经网络技术设计图像压缩算法。 当前主要图片压缩算法 说到图像压缩算法,目前市面上影响力比较大的图片压缩技术是WebP和BPG WebP...
  • iOS优秀的图片压缩处理方案

    千次阅读 2019-07-24 14:49:49
    最近遇到一个图片压缩的问题,项目需求压缩图片500k以内上传服务器,还要求图片要清晰一点。还有证明是图片500k已经确实很清晰了,那就没办法,做呗~~!(不喜欢听bb的可以直接去下面撸代码) 思路 本来以为很...
1 2 3 4 5 ... 20
收藏数 261,305
精华内容 104,522
关键字:

图片压缩