首页 > 其他分享 >利用ImageMagick进行图片压缩

利用ImageMagick进行图片压缩

时间:2023-12-29 15:45:56浏览次数:25  
标签:ImageMagick 压缩 magick wildcard IMAGES 图片

1. 安装ImageMagick

sudo apt-get update
sudo apt-get install imagemagick

2. 图片压缩基本指令

# -monitor 显示进度
# -fuzz 5% 颜色容差(color fuzz factor)
# -layers Optimize 对图层进行优化处理
convert -monitor timeline05.gif -fuzz 5% -layers Optimize magick_timeline05.gif

3. 利用Makefile一键全部压缩成magick_前缀的图片

# 定义 ImageMagick 命令和压缩质量变量
IMAGEMAGICK = convert
FUZZ = 5%

# 查找当前目录下所有未压缩的图片文件
ORIGINAL_IMAGES := $(wildcard *.png) $(wildcard *.jpg) $(wildcard *.jpeg) $(wildcard *.gif)

# 过滤出需要压缩的图片文件(不包括带有前缀 "magick_" 的图片)
TO_COMPRESS_IMAGES := $(filter-out magick_%, $(ORIGINAL_IMAGES))

# 将压缩后的图片文件名加上前缀 "magick_"
COMPRESSED_IMAGES := $(addprefix magick_, $(TO_COMPRESS_IMAGES))

# 定义压缩所有图片的规则
compress: $(COMPRESSED_IMAGES)

# 定义每个图片的压缩规则
$(COMPRESSED_IMAGES): magick_% : %
	@echo "Compressing $<..."
	$(IMAGEMAGICK) -monitor $< -fuzz $(FUZZ) -layers Optimize $@

# 定义清除所有压缩后的图片的规则
clean:
	rm -f magick_*

压缩率非常惊人

image

参考

标签:ImageMagick,压缩,magick,wildcard,IMAGES,图片
From: https://www.cnblogs.com/BuzzWeek/p/17935021.html

相关文章

  • nginx支持br压缩
    项目使用Brotli压缩算法来减小传输数据的大小。要启用Brotli压缩算法,确定是否支持broti模块:nginx-V2>&1|grep-owith-http_brotli_module如果输出中包含了"with-http_brotli_module",则表示您的Nginx版本支持Brotli模块。没有则需要安装;安装libbrotlicd/www/servergitclon......
  • Linux Debian12安装和使用ImageMagick图像处理工具 常见图片png、jpg格式转webp格式
    一、ImageMagick简介ImageMagick是一套功能强大、稳定而且免费的工具集和开发包。可以用来读、写和图像格式转换,可以处理超过100种图像格式,包括流行的TIFF,JPEG,GIF,PNG,PDF以及PhotoCD等格式。对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Rub......
  • H5前端特殊艺术字体文件太大,可通过font-spider压缩
    原理:1.爬行本地html文档,分析所有css语句2.记录@font-face语句声明的字体,并且记录使用该字体的css选择器3.通过css选择器的规则查找当前html文档的节点,记录节点上的文本4.找到字体文件并删除没被使用的字符5.编码成跨平台使用的字体格式简而言之:就是爬出你项目中......
  • Spring Boot邮件发送教程:步步为营,轻松实现图片附件邮件!
     通过SpringBoot构建一个功能强大的邮件发送应用程序,重点是实现发送包含图片附件的邮件。我将逐步介绍添加必要的依赖、创建邮件服务类和控制器的步骤,并提供了具体的示例源代码。跟随这个简单而清晰的教程,您将能够轻松地集成邮件发送功能到您的SpringBoot应用中。步骤1:......
  • 轻量级力量:深入MiniZip库,实现C++中ZIP文件的简便压缩与解压
     MiniZip是一个轻量级的压缩库,它是zlib库的一部分,用于在C++中进行ZIP文件的压缩和解压缩操作。以下是MiniZip的一些功能和优点:功能:创建ZIP文件: MiniZip可以用于创建包含一个或多个文件的ZIP归档。压缩: MiniZip支持使用不同的压缩算法对文件进行压缩,例如DEFLATE。解压缩......
  • 在nodejs环境里使用canvas和sharp生成图片
    1.安装依赖包npminstalljsdomcanvas2.实例代码const{JSDOM}=require('jsdom');const{createCanvas}=require('canvas');//创建一个虚拟DOM环境constdom=newJSDOM('<!DOCTYPEhtml><html><head></head><body>&......
  • 封装一个表情包组件(支持自定义表情图片)(基于vue3语法)
    效果图文件图直接贴代码emotion.vue<template><divclass="emotion-containerbeauty-scroll-livechat"><divclass="emotion-btn"@click="toggleEmotionShow"><spanclass="iconfonticon-biaoqing1&quo......
  • UPX 可执行文件压缩工具的介绍与使用
    UPX是什么UPX全称是"UltimatePackerforeXecutables",是一个免费、开源、编写、可扩展、高性能的可执行程序打包程序。换句话说一个可执行文件的压缩工具。主要的功能是将可执行的二进制程序、动态链接库和其他的二进制文件压缩为更小的体积,UPX通常可以将文件大小减少50%......
  • 羚通视频智能分析平台安防视频汇聚平台新增图片分析功能
    随着科技的飞速发展,安防监控系统已经深入到我们生活的方方面面,成为了我们生活中不可或缺的一部分。在众多的安防产品中,羚通视频智能分析平台无疑是其中的佼佼者。它不仅能够提供全方位的视频监控,还能够通过先进的算法识别技术,对危险区域的行人入侵进行实时预警,大大提高了安防工作......
  • python之秀人网图片下载
    importrequestsfromlxmlimportetreecookies={'_pk_ref.2.90a9':'%5B%22%22%2C%22%22%2C1703739850%2C%22https%3A%2F%2Fwww.google.com.hk%2F%22%5D','_pk_id.2.90a9':'b87f72074fff4914.1703739850.',......