强大的图片处理工具GraphicsMagick

gm使用终端命令 GraphicsMagick介绍 GraphicsMagick是从 ImageMagick 5.5.2 分支出来的,但是现在他变得更稳定和优秀,GM更小更容易安装、GM更有效率、GM的手册非常丰富GraphicsMagick的命令与ImageMagick基本是一样的。 ImageMagick、GraphicsMagick的命令概览 [ convert | identify | mogrify... 阅读详情

前言

项目中我们经常需要对图片进行压缩、剪切、添加水印、生成缩略图、图片合成等图片处理操作,关于这些图片复杂处理,我们将如何实现呢,本文将介绍GraphicsMagick对图片进行相关处理功能。

简介

GraphicsMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转.

linux安装

安装之前,需要安装相关依赖,具体如下

 yum install -y libjpeg-devel libjpeg
 yum install -y libpng-devel libpng
 yum install -y giflib-devel giflib

下载GraphicsMagick

 wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/1.3/GraphicsMagick-1.3.25.tar.gz

解压

 tar -zxvf GraphicsMagick-1.3.25.tar.gz

编译安装

进入安装目录

cd  GraphicsMagick-1.3.25

执行如下脚本

./configure --enable-shared
 make
 make install

验证

gm version

出现如下内容表示,安装成功:

相关测试

图片等比压缩

 gm convert /opt/img/test.jpg -resize 100x100 /opt/img/resize_test.jpg

压缩效果如下:

图片旋转

gm convert /opt/img/test.jpg -auto-orient /opt/img/orient_test.jpg

图片剪切

gm convert ${sourceImgPath} -crop ${width}x${height}+${x}+${y} ${distImgPath}

相关参数说明:

  • sourceImgPath:源图片路径
  • width:裁剪宽度
  • heigth:裁剪高度
  • x:剪切起点横坐标
  • y:剪切起点纵坐标
  • distImgPath:目标图片路径

示例

gm convert  /opt/img/test.jpg -crop +100+50  /opt/img/test_crop.jpg

添加水印

命令格式:

gm convert -font ${fontType} -fill ${color} -pointsize ${fontSize} -draw "text ${dx},${dy} '${textContent}'" ${sourceImgPath} ${distImgPath}

参数说明:

  • fontType:字体类型
  • color:字体颜色
  • fontSize:字体大小
  • dx:水印位置
  • dy:水印位置
  • textContent:文字内容
  • sourceImgPath:源图片路径
  • distImgPath:目标图片路径

示例

gm convert -font YaHei  -fill red -pointsize 28 -draw "text 30,30 'hello'" /opt/img/test.jpg /opt/img/test_water.jpg

说明:

  • draw "text 10,10:添加水印的内容为test,文字的位置为10*10

执行命令报错

gm convert: Postscript delegate failed (/tmp/gmsSBul3).

解决方案:我们需要安装ghostscript,具体执行如下命令

yum -y install ghostscript

添加水印效果如下:

生成缩略图

 gm convert /opt/img/test.jpg -geometry 50x50^ -gravity center -extent 50x50 /opt/img/test_geo.jpg

多张图片的合成api实现

例如门店海报功能,我们需要将门店小程序码和海报的目标进行合成一张新的海报图片。我们采用的java调用相关的API方法,其具体的实现如下:

/**
     * 目标文件
     * @param desPath
     *  源文件         
     * @param sourcePath
     *            源文件
     * @param storeQcodePath
     *            太阳码
     */
 public void maskCompositePic(String storeQcodePath,String sourcePath,String desPath)
    {
        logger.info("Genrate Poster Image, Mask Composite Pic, gmPath:"
                + gmPath+",desPath:"+desPath+",sourcePath:"+sourcePath+",storeQcodePath:"+storeQcodePath);
        try
        {
            // 获取图片的宽高
            IMOperation op = new IMOperation();
            op.geometry(width, height, x, y);
            op.addImage(storeQcodePath);
            op.addImage(sourcePath);
            op.addImage(desPath);
            CompositeCmd cmd = new CompositeCmd(true);
            cmd.setSearchPath(gmPath);
            cmd.run(op);
        }
        catch (Exception e)
        {
            logger.error("Genrate Poster Image, Mask Composite Pic Error.", e);
        }
    }


参数说明:

 op.geometry(width, height, x, y);

  • with:图片的宽度
  • height:图片的高度
  • x:图片的横坐标
  • y:图片的纵坐标
  • gmPath:为安装GraphicsMagick所配置的路径

总结

本文对GraphicsMagick图片处理的工具进行介绍,如果项目中需要使用到图片相关的处理,不妨一试看看效果如何,如有问题,请随时反馈。

手把手教你本地安装GraphicsMagick 最近在做图片处理服务,最终选型使用GraphicsMagick进行图片处理 官方安装步骤: http://www.graphicsmagick.org/INSTALL-unix.html 前置步骤: 安装 GM 之前,需要先安装 libjpeg 和 libpng 这两个库,否则命令无法处理 jpg 和 png 的文件,会出现如下报错:No decode delegate for this image format (XXX). Linux直接执行命令: yum install -y libpng-d. 阅读详情

相关推荐

CPU进程调度算法【FCFS、SJF、优先级、RR、多级队列、多级反馈队列调度】

目录 一、先到先服务调度: 二、最短作业优先调度: 三、优先级调度: 四、轮转调度: 五、多级队列调度: 六、多级反馈队列调度: CPU调度算法处理的问题是:从就绪队列中选择进程以便为其分配CPU。 一、先到先服务调度: First Come,First Served(FCFS) 定义:先请求CPU的进程首先分配到CPU。FCFS策略可以通过FIFO队列轻松实现。 护航效果:其他所有进程会等待一个大进程释放CPU 非抢占式:一旦CPU分配给了一个进程,该进程就会使用CPU知道释.

马小超 3921

缩略图-快速开始(GraphicsMagick )

文章目录一、为什么使用缩略图二、缩略图原理三、JAVA缩略图1. 开源类库 Thumbnailator2. GraphicsMagick+im4java图片处理四、C实现缩略图1. GraphicsMagick2. windows 下安装GraphicsMagick3. linux 下编译安装 GraphicsMagick4. graphicsmagick常用命令1)显示图像文件详细信息2) 格式...

西京刀客 3421

C++开发基础之掌握常用的三种异步编程模型

以上是三种常见的C++异步编程模型,每种模型都有其适用的场景和特点。根据具体需求,你可以选择合适的模型来进行异步编程。

dotnet研习社 2177

graphicsmagick和imagemagick对比

第一:打水印操作,串行执行 composite指令graphicsmagick转图的效率比imagemagick 的高,优化在20%,单张图片打水印graphicsmagick的处理用时随着并发数的递增变化不大,性能相对稳定,因此,随着并发数递增,graphicsmagick的转图性能比imagemagick 更优,高达30%。但公司图片上传用时,至少包括网络传图用时、磁盘读写用时、图片处理用时,测试单用户请求上传接口,graphicsmagick性能优化才5%。车型库编辑提供的实拍图片。

chyunling的专栏 1978

告别手动点鼠标:用Python脚本批量跑ADS版图仿真,效率提升10倍(附完整代码)

本文详细介绍了如何利用Python脚本自动化ADS版图仿真流程,显著提升射频工程师的工作效率。通过调用ADS底层接口,实现参数化修改、批量任务调度和结果自动收集,解决了手动操作中的常见问题,如仿真不更新等。附完整代码,帮助开发者快速实现10倍效率提升。

weixin_42523543的博客 332

Nmap的介绍、安装 并进行网络扫描

Nmap概述 Nmap(Network Mapper(网络映射器))是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。 正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。

Cheney ' blog 2万+

GraphicsMagick安装—学习笔记

概述 GraphicsMagick是一个短小精悍的图片处理工具和库集合。用来处理图像的读取、写入和操作,支持超过88中图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。 安装 下载添加链接描述 解压 tar -jxvf GraphicsMagick-1.3.32.tar.bz2 编译 cd GraphicsMagick-1.3.3...

studyeboy的专栏 9573

MaxDEA如何计算超效率DEA

MaxDEA如何计算超效率DEA第一步,导入数据,设置输出和输出,点击OK;第二步,运行模型; 本文计算的是超效率DEA-BCC。 第一步,导入数据,设置输出和输出,点击OK; 第二步,运行模型; 在distance选项框中选择Radial:CCR(1978);BCC(1984)。 在Orientation中选择Non-oriented。其中,Input-oriented是投入最小;Outp...

王樰沫 1万+

ImageMagick、GraphicsMagick、命令行使用示例

原文:https://www.iteye.com/blog/elf8848-382528 ImageMagick和GraphicsMagick两款软件,是我常用来进行图片处理的工具,支持丰富的特性。

sinat_22631433的博客 484

Python爬虫实战:百度贴吧帖子与评论抓取全攻略(附舆情分析技巧)

基础配置# 要爬取的贴吧名称(替换成自己需要的,比如“XX手游吧”)TIEBA_NAME = "XX手游"# 分页参数(每页50条帖子,可根据需求调整)PAGE_NUM = 3 # 爬取前3页帖子,共150条# 请求头(从浏览器复制自己的,更真实)Win64;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2390

S7-1200与ABB机器人进行SOCKET通信的具体方法示例

S7-1200与ABB机器人进行SOCKET通信的具体方法示例

Robot_PLC_HMI_Automation 3297

探索Go语言图像处理新天地:MagicGo,一触即发!

探索Go语言图像处理新天地:MagicGo,一触即发! magickImageMagick bindings for Go (golang)项目地址:https://gitcode.com/gh_mirrors/magi/magick 项目介绍 在数字时代,图像处理成为不可或缺的技术之一。对于Go(又名Golang)开发者来说,MagicGo是一个值得瞩目的开源项目,它为Go语言提供了强大的图...

gitblog_00042的博客 572

最新2026年《网络数据安全风险评估办法》条款解读

大型企业集团IT变革下的零信任安全体系建设方案(55页).pptx。以数据安全为核心的安全立体防御体系解决方案(41页).pptx。让数据安全合规地创造价值(15页 PPT).pptx。大型集团数据安全应急预案(57页).docx。数据安全治理与评估服务业务介绍.pptx。数据安全管理实践(17页).pptx。大数据安全架构设计方案.pptx。大数据安全规划总体方案.pptx。数据库安全综合治理方案.pptx。医疗数据安全建设方案.pptx。数据安全框架规划图.pptx。数据安全治理方案.pptx。

cdfunlove的博客 47

图片工具GraphicsMagick的下载安装配置使用

转自http://www.kongzid.com/archives/tool1 , GraphicsMagick是一个短小精悍的图片处理工具和库集合。用来处理图像的读取、写入和操作,支持超过88中图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM、PhotoCD、SVG和TIFF。GraphicsMagick 是基于 ImageMagick 开发的。

孔子说 8612

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

java graphicsmagick_java 大图片处理GraphicsMagick + im4java [缩放,旋转,裁剪]

java 大图片处理GraphicsMagick + im4java [缩放,旋转,裁剪]ImageMagickGraphicsMagick两个图片处理软件我就不说了,因为我没那个评论的本事,其实这些软件都会有命令行的指令,然后我们用java调用来对图片进行编辑,调用什么指令可能学一下才知道,不过我们也不用自己写指令吧,因为别人已经封装好了那些指令的接口(JNI),下面就是那些JNIjmagick...

weixin_39812039的博客 468

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

基于ImageMagick与GraphicsMagick的自动化图片处理方案实战

图片处理是Web开发中的常见需求,涉及格式转换、尺寸调整、压缩优化等核心操作。其原理是通过算法对图像数据进行编码转换与像素级运算,在保证视觉质量的同时减少文件体积。这项技术的价值在于提升应用性能、节省存储与带宽成本,并实现处理流程的标准化。在电商平台、内容管理系统、社交应用等场景中,自动化图片处理流水线尤为重要。本文聚焦于ImageMagick和GraphicsMagick这两个强大的命令行工具,通过实战演示如何构建包含压缩、水印添加和缩略图生成的完整处理方案,并涵盖安全配置、性能优化及Web应用集成等工程

weixin_34413103的博客 290

功能非常强大的图片处理软件。graphicsmagick

<br />http://www.graphicsmagick.org/

Web系统架构师 1321

ImageMagick、GraphicsMagick 图片处理

ImageMagick介绍 ----------------------------------------------------------------------------       ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋

in_han 的专栏 3057

java 大图片处理GraphicsMagick + im4java [缩放,旋转,裁剪]

java 大图片处理GraphicsMagick + im4java [缩放,旋转,裁剪] ImageMagick 主页:http://www.imagemagick.org/script/index.php GraphicsMagick 主页:http://www.graphicsmagick.org/ 两个图片处理软件我就不说了,因为我没那个评论的本事,其实这些软

汪翰翔的Blog 1万+

标题:利用Nginx+Lua+GraphicsMagick打造高效图片处理解决方案

标题:利用Nginx+Lua+GraphicsMagick打造高效图片处理解决方案 一、项目介绍 nginx-lua-GraphicsMagick是一个开源项目,它巧妙地结合了Nginx、Lua脚本语言以及GraphicsMagick图像处理库,提供了一种灵活的方式来动态调整图片尺寸。这个项目类似于淘宝的图片服务,让你能够轻松创建自定义尺寸的图片,以适应不同的展示需求,无论是固定宽高还是按比例缩放...

gitblog_00030的博客 423

图片处理工具GraphicsMagick介绍安装使用:GraphicsMagick图像处理系统Node.js gm模块处理图片(缩略图,加水印,裁剪图片)

官网地址:http://www.graphicsmagick.org/index.html 官网上有安装和使用方法,命令使用手册:http://www.graphicsmagick.org/utilities.html 下载: Windows: ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/windows/ 安装: 傻瓜式下一步安装...

南北极之间 1611

java 图片处理_Java 图片处理解决方案:ImageMagick 快速入门

一.ImageMagick介绍ImageMagick是一个免费的创建、编辑、合成图片的软件,可以实现图片切割、颜色替换、图片缩略图、图片水印等各种效果。ImageMagick是免费开源软件,支持大多数操作系统,包括Linux、Windows操作系统。ImageMagick的大多数功能的使用都来源于命令行工具。二.ImageMagick快速入门安装ImageMagick到官网下载相应的安装包。在安装...

weixin_36317492的博客 674

GraphicsMagick安装知识

介绍 GraphicsMagick是服务器端强大的图片处理软件, 源于ImageMagic, 青出于蓝胜于蓝,性能超过ImageMagick; raphicsMagick号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88中图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TI...

iteye_6462的博客 184

编译安装GraphicsMagick及php扩展gmagick

GraphicsMagick介绍 GraphicsMagick是从 ImageMagick 5.5.2 分支出来的,但是现在他变得更稳定和优秀,GM更小更容易安装、GM更有效率、GM的手册非常丰富GraphicsMagick的命令与ImageMagick基本是一样的。 GraphicsMagick号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取...

weixin_30437481的博客 220
上一篇: SpringBoot集成Mybatis-Plus
下一篇: 分库分表订单全局ID
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值