乐知付加密服务平台

如果你有资源, 平台可以帮你实现内容变现, 无需搭建知识付费服务平台。

点击访问官方网站 https://lezhifu.cc

扫码关注公众号 乐知付加密服务平台-微信公众号
magick的安装与使用 | chenzuoli's blog

magick的安装与使用

ImageMagick是一款免费开源的图片编辑软件。既可以通过命令行使用,也可以通过C/C++、Perl、Java、PHP、Python或Ruby调用库编程来完成。ImageMagic的主要精力集中在性能,减少bug以及提供稳定的API和ABI上。

下面看下怎么安装使用。

macos安装magick有点麻烦,我用brew安装未成功,下面尝试通过tar包安装试试。

  1. 安装x11
    下载xquartz:https://www.xquartz.org/
    官网下载XQuartz-2.8.5.pkg,点击安装即可,会默认安装x11,目录位置:/opt/X11/lib
    这个工具magick会使用到,具体干啥的,咱暂时还没时间研究。

  2. 安装image magick
    下载tar安装包:http://www.imagemagick.org/script/index.php

1
2
3
4
5
6
7
8
9
10
tar zxvf ImageMagick-x86_64-apple-darwin20.1.0.tar.gz
cd ImageMagick-7.0.10
vim ~/.zprofile
export MAGICK_HOME=/Users/zuolichen/opt/software/ImageMagick-7.0.10
export DYLD_LIBRARY_PATH=/opt/X11/lib
export PATH="$MAGICK_HOME/bin:$PATH"
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:"$MAGICK_HOME/lib/"

# 环境变量生效
source ~/.zprofile

查看是否安装成功:

1
magick --version
  1. 安装ffmpeg:
    地址:https://ffmpeg.org/download.html
    1
    2
    3
    4
    tar zxvf ffmpeg-7.0.tar.gz
    cd ffmpeg-7.0
    ./configure --disable-x86asm
    make && make install

环境变量:

1
2
3
4
export IMAGEIO_FFMPEG_EXE=/Users/zuolichen/opt/software/ffmpeg-7.0
vim ~/.zprofile
export PATH=/Users/zuolichen/opt/software/ffmpeg-7.0/bin:$PATH

编辑图片

  1. 转换格式

    1
    magick test.jpg test.png

    表示把test.jpg这个图片另存一份为test.png,同时修改了图片名称和格式

  2. 合成gif

    1
    2
    magick a.jpg b.jpg c.jpg test.gif
    magick *.jpg images.gif

    将指定的图片合成一个gif(好像以第一张图的大小为准)

  3. 调整图片大小

按比例改变

1
2
3
magick b.png -resize 200%  b1.png
magick convert b.png -resize 200% b1.png
magick convert -resize 200% b.png b1.png

图片宽扩展为原来的2倍,高缩小为原来的一半

1
2
magick convert b.png -resize 200x50%  b7.png
magick convert b.png -resize 200%x50% b8.png

宽调整为100,高按原来图片宽高比例跟着调整

1
convert -resize 100 b.png  b15.png

高调整为200,宽按原来图片宽高比例跟着调整

1
convert -resize x200 b.png  b16.png
  1. 移除图片内嵌的所有配置文件

    1
    magick convert -strip 1.jpg
  2. 裁剪图片

crop参数可以把一副图像分成若干块大小一样的图片

1
magick img1.jpg -crop 500x500 dest.jpg

例如,原图片尺寸为1920x1200,所以可以分割出12块图片,注意如果尺寸不是目标图片的整数倍,那么右边缘和下边缘的一部分图片就用实际尺寸

在原始图像上裁剪一张指定尺寸的小图

1
magick img1.jpg -crop 600x450+300+600 dest.jpg

600x450是宽乘高,+300+600是横纵坐标

  1. 图片取反

    1
    magick convert a.jpg -negate canny.jpg
  2. 压缩图片

将图片质量降为原来的10%(即压缩掉了90%),取值范围1 ( 最低的图像质量和最高压缩率) 到100 ( 最高的图像质量和最低压缩率),默认值根据输出格式有75、92、100,选项适用于JPEG / MIFF / PNG.

1
magick convert -quality 80 1.jpg 2.jpg

实例:生成缩略图:

-resize,定义输出的缩略图尺寸;-quality 70,降低缩略图的质量为70%;-strip:让缩略图移除图片内嵌的所有配置文件,注释等信息,以减小文件大小。

1
magick convert  -resize 100x200 -quality 70 -strip  1.jpg 2.jpg
  1. 给图片加边框

设置边框颜色为蓝色(也可以用rgb(0,0,255)或者rgb(0%,0%,100%)代替),宽的边框和高的边框分别为宽的5%、高的5%,也就是说,图片的高和宽都增大了10%

1
magick 1.jpg -bordercolor blue -border 5% 2.jpg
  1. 滤镜
    1
    2
    3
    4
    5
    6
    magick convert monochrome .jpg -monochrome monochrome_example.jpg
    magick convert charcoal .jpg -charcoal 1.2 charcoal _example.jpg
    -monochrome没有相关的配置选项;但是-charcoal需要设置一个相关因子,1左右能实现类似炭笔绘画的效果。

    magick convert a.jpg -edge 3 edge.jpg
    magick convert a.jpg -colors 2 color.jpg

减少为2种颜色,这些选项也可以一起使用。

  1. 边缘检测
    1
    magick convert a.jpg -canny 1 canny.jpg

使用canny算法,带粗粒度参数。

图像取反的话就很好看了:

1
magick convert a.jpg -canny 1 -negate canny.jpg

这个工具是不是很强大,后面看下如何结合python,通过代码调用magick库实现图片的编辑。


欢迎关注微信公众号,您的资源可变现:【乐知付加密平台】


乐知付加密平台

一起学习,一起进步。

-------------本文结束感谢您的阅读-------------