收藏 分销(赏)

ImageMagick学习重点笔记专业资料.doc

上传人:精**** 文档编号:2954556 上传时间:2024-06-12 格式:DOC 页数:21 大小:2.51MB 下载积分:10 金币
下载 相关 举报
ImageMagick学习重点笔记专业资料.doc_第1页
第1页 / 共21页
ImageMagick学习重点笔记专业资料.doc_第2页
第2页 / 共21页


点击查看更多>>
资源描述
ImageMagick学习笔记 注意:ImageMagick对中文支持不好,文献(夹)一定不要含中文,否则会报错!切忌! -启动开关 +关闭开关,恢复从前。 convert convert顾名思义就是对图像进行转化,它重要用来对图像进行格式转化,同步还可以做缩放、剪切、模糊、反转等操作。 格式转化 例如把 foo.jpg 转化为 foo.png:转换不会破坏原图像。 convert foo.jpg foo.png Mogrify mogrify -format png *.jpg 将所有jpg文献转换成png格式,不破坏源文献(相称于批量转换了) 注意: mogrify -format png *.gif 会把gif文献每一帧都转化成png文献,会生成诸多文献 convert还可以把多张照片转化成pdf格式: convert *.jpg foo.pdf convert test.gif test.jpg 会生成诸多以test开头图片文献 =>大小缩放 为一种普通大小图片做一种缩略图 convert -resize 100x100 foo.jpg thumbnail.jpg 也可以用比例,更为直观: convert -resize 50%x50% foo.jpg thumbnail.jpg (50%x50%是字母x) convert会自动地考虑在缩放图像大小时图像高宽比例,也就是说新图像高宽比与原图相似。 批量生成缩略图: mogrify -sample 80x60 *.jpg 注意,这个命令会覆盖本来图片,但是你可以在操作前,先把你图片备份一下。 convert -sample 25%x25% input.jpg output.jpg 等比列缩放 =>加边框 在一张照片四周加上边框,可以用 -mattecolor 参数, convert -mattecolor "#000000" -frame 60x60 yourname.jpg rememberyou.png 其中,"#000000"是边框颜色,边框大小为60x60 =>在图片上加文字 convert -fill green -pointsize 40 -draw "text 10,50 charry.org" 2.jpg 222.jpg 上面命令在距离图片左上角10x50位置,用绿色字写下charry.org,如果你要指定别字体,可以用-font参数。 或者: convert 1.png -fill white -pointsize 13 -draw "text 10,15 ‘lifesinger ’" 2.png =>模糊 高斯模糊: convert -blur 80 foo.jpg blur.png -blur参数还可以这样-blur 80x5。背面那个5表达是Sigma值,这个是图像术语,我也不太清晰,总之,它值对模糊效果起核心作用,效果更明显 foo.jpg blur.png =>翻转 上下翻转: convert -flip foo.png bar.png 左右翻转: convert -flop foo.png bar.png =>反色 形成底片样子: convert -negate foo.png bar.png 单色 把图片变为黑白颜色: convert -monochrome foo.png bar.png 加噪声 convert -noise 3 foo.png bar.png 油画效果 咱们可用这个功能,把一张普通图片,变成一张油画,效果非常逼真 convert -paint 4 foo.png bar.png 着色: 着色是将每个像素颜色与指定颜色混合过程。该效果参数就是要用来混合颜色。可以用一种百分数(它将分别用于红色、绿色和蓝色),也可以用三个百分数来指定这个参数。也可以提供三个实际值中一种。要指定三个值,每个值分别代表红色、绿色和蓝色三个采样,使用 red/green/blue 形式参数。例如, 10/20/30 意味着红色值是 10、绿色值为 20 而蓝色值为 30。您也可以在这个构造中使用百分数 convert -colorize 255 input.jpg output.jpg => convert -colorize 100/0/125 input.jpg output.jpg => 内爆效果 内爆效果模仿了您图像中心被吸入虚拟黑洞情形。所用参数是您所盼望内爆效果量。 convert -implode 1 input.jpg output.jpg 曝光,模仿胶片曝光 convert -solarize 42 input.jpg output.jpg 扩散 spread 在图像之内以随机数量移动像素。所用参数是被移到新选取位置像素区域大小。因此它指定了输出和输入相似限度 convert -spread 5 input.jpg output.jpg 马赛克效果:convert -sample 10% -sample 1000% input.jpg output.jpg 从左至右将图片水平相连: convert +append *.jpg result.jpg 或 convert -size 350x500 xc:black composite.jpg composite -geometry +0+0 composite.jpg image1.gif composite.jpg composite -geometry +100+0 composite.jpg image2.gif composite.jpg composite -geometry +0+300 composite.jpg image3.gif composite.jpg composite -geometry +0+375 composite.jpg image4.gif composite.jpg 旋转 把一张图片,旋转一定角度: convert -rotate 30 foo.png bar.png 上面30,表达向右旋转30度,如果要向左旋转,度数就是负数。 炭笔效果 convert -charcoal 2 foo.png bar.png 形成炭笔或者说是铅笔画效果。增长 -charcoal 选项参数数值会增长应用于该图像“炭笔”数量,但也会延缓生成图像过程。 散射 毛玻璃效果: convert -spread 30 foo.png bar.png 漩涡 以图片中心作为参照,把图片扭转,形成漩涡效果: convert -swirl 67 foo.png bar.png 凸起效果 用-raise来创立凸边: convert -raise 5x5 foo.png bar.png 执行后,你会看到,照片四周会一种5x5边,如果你要一种凹下去边,把-raise改为+raise就可以了。其实凸边和凹边看起来区别并不是很大。 为图片添加某些注释信息: convert -font Arial -stroke green -fill red -draw "text 50,60 " -pointsize 14 07.jpg hist.png 解释: -draw “text 10,10 String" 在以图片左上角为原点坐标10,10位置处添加文字 -font 指定字体 -stroke 描边用颜色, -fill 填充用颜色,这里用none就可以画出空心字了, -pointsize 字体像素大小, -font Arial 将注释字体设立为Arial。也可以在此处指定字体文献途径。但它是使用位于非原则位置字体来完毕该任务: convert -font c:\windows\fonts\1900805.ttf -fill white -pointsize 36 -draw ‘text 10,475 “”’ floriade.jpg stillhq.jpg -fill white 用白色而不是原则黑色来填充字母。 -pointsize 36 以点为单位指定字母大小。一英寸等于 72 点。 convert -font fonts\1900805.ttf -fill white -pointsize 36 -draw 'text 10,475 ""' floriade.jpg stillhq.jpg 如下是成果: 带标记图像 -fill white 用白色而不是原则黑色来填充字母。 发散后应用炭笔效果: convert -sample 50%x50% -spread 4 -charcoal 4 input.jpg output.jpg 加上5个像素宽红色边框: convert -bordercolor red -border 5x5 input.jpg output.jpg => convert -list color 列出描边可用颜色 还可以使用如下办法来指定您自己颜色了,这里 R 表达红色值,G 表达绿色值,B 表达蓝色值,A 是 alpha(透明度)值: · #RGB - (R,G,B 是十六进制数,每个 4 位) · #RRGGBB - (每个 8 位) · #RRRGGGBBB - (每个 12 位) · #RRRRGGGGBBBB - (每个 16 位) · #RGBA - (每个 4 位) · #RRGGBBAA - (每个 8 位) · #RRRGGGBBBAAA - (每个 12 位) · #RRRRGGGGBBBBAAAA - (每个 16 位) · rgb(r,g,b) - (r,g,b 是十进制数) · rgba(r,g,b,a) - (r,g,b,a 是十进制数) convert -mattecolor rgba(255,91,191,1) -frame 2x2 input.jpg out.jpg 添加某些类似于用 -raise 命令得到阴影 convert -mattecolor rgb(255,181,197) -frame 5x5+2 input.jpg out.jpg 更多修饰: convert -mattecolor rgb(255,181,197) -frame 5x5+2+2 input.jpg out.jpg convert -mattecolor rgb(255,181,197) -frame 25x25+0+25 input.jpg out.jpg convert -mattecolor rgb(255,181,197) -frame 25x25+25+0 input.jpg out.jpg 研究边框可进一步研究下-frame参数 composite 命令将一种图像叠加到另一种图像上 G:\test>composite -gravity NorthEast w.jpg input.jpg out.jpg G:\test>composite -gravity NorthWest w.jpg input.jpg Northwest.jpg G:\test>composite -gravity SouthWest w.jpg input.jpg southwest.jpg G:\test>composite -gravity SouthEast w.jpg input.jpg southEast.jpg 可以叠加一种透明角,生成带有圆角图像。 => 将图片转换成pdf文献 Convert *.jpg test.pdf 而Convert test.pdf test.png是将pdf中文献导出!但是需要Ghostscript 生成法国国旗图案 convert -size 20x40 xc:red xc:white xc:blue +append flag.png 命令执行是有顺序,按照从左至右顺序依次执行 convert 1.jpg -crop 300x300+0+0 -resize 200x200 -colors 100 +profile "*" 1.png 表达:把1.jpg先从左上角(0,0)裁剪一块300x300某些,然后把这某些缩小到200x200,然后把颜色缩减到100色,最后生成1.png。"+profile "*""意味着在图片文献里不存储附加信息,以减小图片体积。 注意,-resize会试图保存原图视觉比例,因而不一定生成图片和你指定尺寸一定匹配,例如,如果2.jpg大小是400x200,那么如果用下面命令: convert 2.jpg -resize 100x100 2.png 那么生成图片2.png实际大小是100x50。 惯用命令有: -crop 宽x高+起点横坐标+起点纵坐标:裁剪图 -resize 宽x高[!]:变化尺寸,如果使用惊叹号,表达不保存视觉比例,强行变化尺寸匹配给定宽和高 -colors 颜色数:设定图片采用颜色数,如果是生成png或gif图片应指定这个参数 -quality 质量:设定jpeg图片输出质量,推荐采用80,此命令仅用于输出格式是jpg状况,不应省略,省略话默认质量是95,生成图片过大 +profile "*":图片中不存储附加信息,必要使用,否则生成图片过大 生成索引: montage -bordercolor red -borderwidth 3 -label "%f" -tile 5x3 *.jpg montage.jpg mogrify -format gif *.jpg 将所有jpg文献转换成gif格式 identify -verbose 001.jpg 显示图片详细信息 identify -format "%wx%h" 001.jpg 显示图片宽和高输出类似于640x480,其中-format容许你仅仅定想要输出信息。%w 表达图像宽度,而 %h 表达图像高度 图片目录(visual image directory ,VID)创立: montage *.jpg directory.vid 或则 convert 'vid:*.jpg' directory.vid 如何将gif文献分析为一系列单个图片? convert animation.gif frame%02d.gif 如何从图片文献中抽取第一张图片 convert "Image.gif[0]" first.gif 如何创立一张空白图片 convert -size 80x60 xc:"#ddddff" ss.jpg convert -size 80x60 null:white white.jpg convert 017.jpg -threshold 100% black.jpg 创立一张与017.jpg同大小图片,黑色 convert 017.jpg -threshold 65% black.jpg identify -format "%wx%h" sample.png 显示图片宽和高 convert +adjoin *.jpg frames%d.gif 所有jpg图片转换成gif格式 如何生成gif动画 1、convert -delay 20 *.jpg animation.gif 2、convert -delay 20 001.jpg -delay 10 006.jpg -delay 5 007.jpg animation.gif 3、convert 010.jpg -page +50+100 007.jpg -page +0+100 008.jpg animation.gif 4、convert -loop 50 *.jpg animation.gif Imagick两种命令行格式: command [options] input_image output_image command [options] image1 [options] image2 [options] output_image convert -size 40x20 xc:red xc:blue -append -rotate 90 append_rotate.gif 产生一蓝一红2个图片,附加到一块然后再右旋转90度 convert -size 40x20 xc:red xc:blue -rotate 90 -append append_rotate.gif convert -size 40x20 xc:red xc:blue -append append_rotate.gif convert -size 40x20 xc:red xc:blue -rotate 90 append_rotate.gif 注意这是一种动画,有2副图片。会动!! convert 06.jpg 07.jpg -append 08.jpg 09.jpg -background skyblue +append temp.jpg 06.jpg和07.jpg垂直附加,08.jpg和09.jpg水平附加在背景为天蓝色图片上 convert -list gravity None Center East Forget NorthEast North NorthWest SouthEast G:\test>identify -ping 000.jpg 000.jpg JPEG 670x448 670x448+0+0 DirectClass 8-bit 46.2891kb G:\test>identify -format "%k" 000.jpg 34426 G:\test>identify -ping -format "double_width=%[fx:w*2] PI=%[fx:atan(1)*4]" 000.jpg double_width=1340 PI=3.14159 G:\test>convert null:-print "(50 + 25)/5 ==> %[fx:(50+25)/5 ]\n" null: (50 + 25)/5 ==> 15
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服