composite
使用示例 • 选项汇总
使用 composite 程序可以将一幅图像叠加到另一幅图像之上。关于如何组织 composite 命令,请参阅命令行处理,或参见下面的命令使用示例。
使用示例
为说明 composite 命令的用途和易用性,这里列举几个示例。首先,让我们把一张笑脸叠加到 rose 上:
magick composite -gravity center smile.gif rose: rose-over.png
使用 Atop 可以制作三维立体效果:
magick -size 70x70 canvas:none -fill red -draw 'circle 35,35 10,30' red-circle.png
magick -size 70x70 canvas:none -draw "circle 35,35 35,20" -channel RGB -negate -channel A -gaussian-blur 0x8 white-highlight.png
magick composite -compose atop -geometry -13-17 white-highlight.png red-circle.png red-ball.png
又或者,假设你想把一只熊无缝地融入小溪中。试试下面这条命令:
magick -verbose stream.jpg bear.jpg bear_mask.png -define compose:args=400x0.0002+100 \
-compose seamless-blend -geometry +30+30 -composite bear-in-stream.png
蒙版标记出熊周围需要混合的区域。无缝混合是一个迭代过程。这里,我们将迭代次数限制为不超过 400 次,若混合收敛(残差的 RMSE 小于 0.0002)则提前结束。残差值(RMSE)每 100 次迭代打印一次。请注意,无缝混合在启用 HDRI 功能时效果最佳。
magick -verbose stream.jpg \( bear.jpg -read-mask only_bear.png \) bear_mask.png \
-define compose:args=400x0.0002+100 -compose seamless-blend -geometry +30+30 -composite \
bear-in-stream.png
这里我们创建了一个 read 蒙版,用于将前景对象与其背景区分开来。前景对象本身不进行混合,仅对其周围进行混合。read-mask 会保留熊的颜色,防止其像第一个示例那样被提亮。请注意,read-mask 必须是白底黑图,而普通蒙版则是黑底白图。
你可以在 Examples of ImageMagick Usage 中找到更多使用 composite 的示例。关于它们的更多信息及数学原理,请参阅 SVG Alpha Compositing。
选项汇总
composite 命令可识别以下选项。点击某个选项可获取该选项工作方式的更多详情。
| 选项 |
说明 |
| -affine matrix |
仿射变换矩阵 |
| -alpha |
alpha 通道的 on, activate, off, deactivate, set, opaque, copy, transparent, extract, background, shape 设置 |
| -authenticate value |
用此密码解密图像 |
| -blend geometry |
混合图像 |
| -blue-primary point |
色度蓝原色点 |
| -border geometry |
用彩色边框包围图像 |
| -bordercolor color |
边框颜色 |
| -channel type |
将选项应用于选定的图像通道 |
| -colors value |
图像中期望的颜色数量 |
| -colorspace type |
设置图像色彩空间 |
| -comment string |
用注释为图像添加批注 |
| -compose operator |
设置图像合成运算符 |
| -compress type |
图像压缩类型 |
| -debug events |
显示大量调试信息 |
| -decipher filename |
将密文像素转换为明文 |
| -define format:option |
定义一个或多个图像格式选项 |
| -density geometry |
图像的水平和垂直密度 |
| -depth value |
图像位深度 |
| -displace geometry |
按位移图所定义的量偏移图像像素 |
| -dissolve value |
按给定百分比溶合两幅图像 |
| -dither method |
对图像应用误差扩散 |
| -encipher filename |
将明文像素转换为密文像素 |
| -encoding type |
文本编码类型 |
| -endian type |
图像的字节序(MSB 或 LSB) |
| -extract geometry |
从图像中提取区域 |
| -filter type |
调整图像尺寸时使用此滤波器 |
| -font name |
用此字体渲染文本 |
| -geometry geometry |
图像的期望尺寸或位置 |
| -gravity type |
文本的水平和垂直放置 |
| -green-primary point |
色度绿原色点 |
| -help |
打印程序选项 |
| -identify |
识别图像的格式和特性 |
| -interlace type |
图像隔行扫描方案类型 |
| -interpolate method |
像素颜色插值方法 |
| -label string |
为图像分配标签 |
| -level value |
调整图像对比度级别 |
| -limit type value |
像素缓存资源上限 |
| -log format |
调试信息的格式 |
| -monitor |
监视进度 |
| -monochrome |
将图像转换为黑白 |
| -negate |
用补色替换每个像素 |
| -page geometry |
图像画布的尺寸和位置(设置) |
| -pointsize value |
字体磅值 |
| -profile filename |
添加、删除或应用图像配置文件 |
| -quality value |
JPEG/MIFF/PNG 压缩级别 |
| -quantize colorspace |
在此色彩空间中减少图像颜色 |
| -quiet |
抑制所有警告信息 |
| -red-primary point |
色度红原色点 |
| -regard-warnings |
重视警告信息 |
| -respect-parentheses |
设置在括号边界之前保持有效 |
| -rotate degrees |
对图像应用 Paeth 旋转 |
| -sampling-factor geometry |
水平和垂直采样因子 |
| -scene value |
图像场景编号 |
| -seed value |
为新的伪随机数序列设定种子 |
| -set attribute value |
设置图像属性 |
| -sharpen geometry |
锐化图像 |
| -shave geometry |
从图像边缘削去像素 |
| -size geometry |
图像的宽度和高度 |
| -stegano offset |
在图像中隐藏水印 |
| -stereo geometry |
合成两幅图像以创建立体立体视差图 |
| -strip |
从图像中剥离所有配置文件和注释 |
| -swap indexes |
交换图像序列中的两幅图像 |
| -synchronize |
将图像同步到存储设备 |
| -taint |
将图像标记为已修改 |
| -thumbnail geometry |
创建图像的缩略图 |
| -tile |
在图像的横向和纵向上重复合成操作 |
| -transform |
对图像进行仿射变换 |
| -transparent-color color |
透明色 |
| -treedepth value |
颜色树深度 |
| -type type |
图像类型 |
| -units type |
图像分辨率的单位 |
| -unsharp geometry |
锐化图像 |
| -verbose |
打印图像的详细信息 |
| -version |
打印版本信息 |
| -virtual-pixel method |
访问图像边界外像素的方法 |
| -watermark geometry |
水印的亮度和饱和度百分比 |
| -white-point point |
色度白点 |
| -white-threshold value |
强制所有高于阈值的像素变为白色 |
| -write filename |
将图像写入此文件 |
原文: https://imagemagick.org/composite/