文章选自我的博客:https://blog.ljyngup.com/archives/267.html/

再次祭出神奇的Github

  • 这次给大家介绍的是一款神奇的图片压缩软件,以质量的微小损失换取大量的存储空间

一、为什么要压缩图片?

像我们这样的个人独立博客,服务器的配置大多不高,带宽也就1M,想要访问速度在2s以内,基本不能有太多额外的图片消耗,主要都是用来加载css,js.
如果能把站图的大小普遍保持在100K以下,再加上微博图床的扶持,博客就可以在1S内完成加载!

二、Imagine介绍

来自meowtec大神的作品

软件优势

  • 多格式支持(PNG JPEG WEBP)
  • 多语言支持(其实作者就是个中国人~)
  • 好看的界面
  • 简洁的操作界面(只有添加保存设置)
  • 压缩速度过关(1M以下的速度还算不错)
  • 支持批量压缩

界面截图

  • 简洁的UI
  • 操作界面(Windows)
  • 设置界面

那么在默认的80%质量保证下图片的观感会有多大的变化?
我们来做一个极致的测评,我们会把质量变为原来的一半,也就是50%

极致比较

  • 原图(来自Unplash 图片大小4MB)

  • 压缩后(使用50%压缩,图片大小700K)

查看大图后有什么区别?我在Windows的图片查看中两张照片来回看发现……

没区别

真的是个神奇的软件~

注意事项:

  • 如果图片较大且需要裁剪比例,先裁剪后压缩。图片如果比较大压缩会很慢很慢
  • 软件支持格式转换(PNG and JPEG)
  • Github上下载不用IDM会很慢。我会上传蓝奏云Macos和Windows的安装包,方便国内用户下载

三、项目地址

Imagine— 让图片再小一点点的更多相关文章

  1. GitHub + jsDelivr + PicGo + Imagine 打造稳定快速、高效免费图床

    GitHub + jsDelivr + PicGo + Imagine 打造稳定快速.高效免费图床 前言 为什么要使用图床呢? 因为在不同平台发布同一篇文章的时候,最一个痛苦的点就是,图片存储问题,各 ...

  2. iOS检测用户截屏并获取所截图片

    iOS检测用户截屏并获取所截图片 微信可以检测到用户截屏行为(Home + Power),并在稍后点击附加功能按钮时询问用户是否要发送刚才截屏的图片,这个用户体验非常好.在iOS7之前, 如果用户截屏 ...

  3. WKInterfaceImage 无法更新图片的问题

    最近涉及到AppleWatch的相关项目,但有个奇怪问题无法解决,而且无法理解: 根据不同的用户操作,需要修改播放器的专辑图片. 不知道跟我的项目需求是不是有关系:我需要轮询共享空间,以拿取同步数据, ...

  4. css3实践之摩天轮式图片轮播+3D正方体+3D标签云(perspective、transform-style、perspective-origin)

    本文主要通过摩天轮式图片轮播的例子来讲解与css3 3D有关的一些属性. demo预览: 摩天轮式图片轮播(貌似没兼容360 最好用chrome) 3D正方体(chrome only) 3D标签云(c ...

  5. 让图片在div 中居中的方法

    方法一: 思路:利用text-align属性将图片水平居中,然后设置padding-top的值使其垂直居中. 结构如下: <div> <img src="images/tt ...

  6. Origin的图片导出问题

    很多会议投稿都会要求提交的pdf文件用的是type1字体,因为type1字体是矢量字体,无论怎么放大缩小都不会失真.一旦pdf里嵌入了其他非矢量字体,例如type3字体,就会通不过测试,一个典型的例子 ...

  7. Camera图片特效处理综述(Bitmap的Pixels处理、Canvas/paint的drawBitmap处理、旋转图片、裁截图片、播放幻灯片浏览图片<线程固定时间显示一张>)

    一种是直接对Bitmap的像素进行操作,如:叠加.边框.怀旧.(高斯)模糊.锐化(拉普拉斯变换). Bitmap.getPixels(srcPixels, 0, width, 0, 0, width, ...

  8. Img图片超过了DIV的最大宽度 解决方案

    在该图片所在的div限定一下里边所有的图片的最大长度,这个长度的值可以是div的长度的略小即可. 例如: <div class="content" style="w ...

  9. (转)解决png图片在IE6下不透明的方法

    来源于:http://xzl52199.blog.163.com/blog/static/95206446201142174540220/ 一.传统的JavaScript方法 思路: 1.一个专门解决 ...

随机推荐

  1. 手动滑稽之golang-vmware-driver广告篇

    本来在Windows 7 + Tiny Linux 4.19 + XFS + Vmware Workstation 15 (PRO) 下篇dockerの奥义之后的UEFI补完延迟了... 虽然用efi ...

  2. curl使用post方式访问Spring Cloud gateway报time out错误

    公司老的项目使用是php,要进行重构.其他团队使用php curl函数使用post方式调用Spring Cloud gateway 报time out错误. 但是使用postman测试是没有任何问题, ...

  3. Ado.net总结-Command(指挥官)

    Command 概述 在 System.Data.SqlClient 命名空间下,对应的 Command 类为 SqlCommand,在创建 SqlCommand 实例前必须已经创建了与数据库的连接. ...

  4. mac-air上安装 rabbitmq 并简单使用

    简介: brew 安装 rabbitmq,docker安装rabbitmq 安装官方php-amqp 扩展 简单使用样例(发送10次helloworld

  5. React16源码解读:揭秘ReactDOM.render

    引言 在上一篇文章中我们通过create-react-app脚手架快速搭建了一个简单的示例,并基于该示例讲解了在类组件中React.Component和React.PureComponent背后的实现 ...

  6. rdlc报表输入中文出现小方块

    在用vs自带的报表文件的时候,在输入中文的时候,会出现一些小方块. 百度到的资料:当然我试了下,没有用. 用文本编辑器(我用的是editplus)打开需要批量处理的rdlc文件. 将所有 <St ...

  7. Scrum.站立会议介绍

    项目任务分解完毕之后,整个项目要完成的任务也都已经确定,每个人负责的任务也确定.这时候就进入到每天的迭代过程.项目经理的一个职责就是每天负责召开 站立会议. 具体的形式如下: 每天固定时间召开. 项目 ...

  8. mysql的压缩版安装

    MYSQL压缩版 自己建立: data(位于mysql的bin一层文件夹),my.ini(文本) my.ini(下面是文本内容) [client] port=3306 default-characte ...

  9. Asp.Net Core 3.1 Api 集成Abp项目依赖注入

    Abp 框架 地址https://aspnetboilerplate.com/ 我们下面来看如何在自己的项目中集成abp的功能 我们新建core 3.1 API项目和一个core类库 然后 两个项目都 ...

  10. linux DHCP 服务器

    配置  1:/etc/dhcp.conf 配置文件 2:dhcp.leases 启动 dhcp 服务器 linux dhcp客户端 windows dhcp 客户端