zoukankan      html  css  js  c++  java
  • Java 图片处理解决方案:ImageMagick 快速入门教程

    文章首发于【博客园-陈树义】,点击跳转到原文Java 图片处理解决方案:ImageMagick 快速入门教程

    ImageMagick介绍

    ImageMagick是一个免费的创建、编辑、合成图片的软件,可以实现图片切割、颜色替换、图片缩略图、图片水印等各种效果。ImageMagick是免费开源软件,支持大多数操作系统,包括Linux、Windows操作系统。ImageMagick的大多数功能的使用都来源于命令行工具

    ImageMagick快速入门

    安装ImageMagick

    官网下载相应的安装包。

    下载

    在安装过程中记得勾选Install legacy utilities(e.g. convert)选项。

    安装注意

    配置环境变量

    将ImageMagick安装目录设置到PATH系统变量中

    设置PATH路径

    打开命令行运行magick -help测试是否配置成功

    测试配置是否成功

    使用ImageMagick实现旋转

    ImageMagick图片处理命令的格式如下:

    imagick deal_type origin_pic_path deal_param dest_pic_path
    
    • deal_type:图片处理类型。ImageMagick提供了几十种图片处理类型,包括:decorate(边框)、convert(转换)、montage(拼接)、animation(动画)等,你可以在Features and Capabilities查看更多图片处理类型。
    • origin_pic_path:源图片路径。
    • deal_param:处理参数。不同的图片处理类型有不同的处理参数。
    • dest_pic_path:目标图片路径。

    运行下面的命令将图片顺时针旋转90度:

    magick doraemon.jpg -rotate 90 doraemon_rotate.jpg
    

    图片旋转代码

    ImageMagick快速入门之图片旋转效果

    在Java中使用ImageMagick

    开始前请先确认JDK、Maven正确安装:

    JDK、MAVEN安装确认

    引入依赖

    IM4Java是ImageMagick的Java API包,它将Java代码转化成对ImageMagick的命令行调用。

    <dependency>
        <groupId>org.im4java</groupId>
        <artifactId>im4java</artifactId>
        <version>1.4.0</version>
    </dependency>
    

    调用IM4Java实现旋转

    IM4Java的作用是将Java代码转成对ImageMagick的命令行调用,因此IM4Java API与ImageMagick的命令有一一对应的关系。

    • ImageMagick的图片处理类型(deal_type)对应xxxCmd,如:convert处理类型对应ConvertCmdmontage处理类型对应MontageCmd
    • ImageMagick的图片处理参数(deal_param)对应IMOperation方法,如:-rotate 90参数对应operation.rotate(90d)-resize 900x600参数对应operation.resize(900,600)

    API和命令行参数对比

    运行以下代码可以将图片顺时针旋转90度。

    IMOperation operation = new IMOperation();
    operation.addImage("C:\Users\Administrator\Desktop\imagemagick\doraemon.jpg");
    operation.rotate(90d);
    operation.addImage("C:\Users\Administrator\Desktop\imagemagick\doraemon_rotate.jpg");
    
    ConvertCmd cmd = new ConvertCmd();
    cmd.setSearchPath("C:\Program Files\ImageMagick-7.0.5-Q16");  //Windows需要设置,Linux不需要
    cmd.run(operation);
    

    运行程序后可以看到图片已经旋转90度。

    ImageMagick入门旋转效果对比

    参考资料

    关键词

    Java 图片处理 Java 图片处理解决方案 Java 图片加水印 Java 图片圆角 Java 图片裁切 Java 图片等比缩小 ImageMagick GraphicsMagick 区别 ImageMagick 旋转

    文章首发于【博客园-陈树义】,点击跳转到原文Java 图片处理解决方案:ImageMagick 快速入门教程

  • 相关阅读:
    公安备案接入服务商如何填写?(网站接入信息)
    VSCode 开发Vue必备插件
    阿里云ecs从零配置centos 安装宝塔bt环境 (安装失败提示setuptools installation failed)
    hover时下划线从中间向两端渐变
    phpcms v9后台增加阅读量字段,可任意修改阅读量
    织梦登录后台变空白解决方法大全
    html鼠标滚动后导航栏吸顶效果
    关于height:100%和height:100vh的区别
    mycat
    Hash碰撞
  • 原文地址:https://www.cnblogs.com/chanshuyi/p/quick_start_of_image_magick.html
Copyright © 2011-2022 走看看