The -define 命令行选项添加特定的全局设置,通常用于控制编码器和图像处理操作。
此选项为编码器和解码器创建了一个或多个定义,以便在读取和写入图像数据时使用。定义通常用于控制图像文件格式编码器模块和图像处理操作,超出正常方式提供的范围。定义的设置在 -verbose 信息("info:" 输出格式)中列为“伪影”。
如果定义缺少 value,则会使用该名称创建一个空值的标志定义。这用于控制开/关选项。使用 -define keys 删除之前创建的定义。使用 +define "*" 删除所有现有定义。
相同的“伪影”设置也可以使用 -set "option:key" "value" 选项定义,该选项还允许在定义的值中使用 格式和打印图像属性。
option 和 key 不区分大小写(它们被转换为小写以在解码器中使用),而 value 区分大小写。
此类设置的作用域是全局的,会影响所有图像和操作。
magick bilevel.tif -define ps:imagemask eps3:stencil.ps
通过在值前加上 registry: 来设置图像注册表的属性。例如,要设置一个放置工作文件的临时路径,请使用
-define registry:temporary-path=/data/tmp
以下是已识别定义的列表
命令行定义 | |
---|---|
ashlar:best-fit | 在左右边缘对齐图块。 |
ashlar:tiles | 设置每个画布上渲染的图像图块的最大数量。 |
auto-threshold:verbose | 将派生的阈值作为 auto-threshold:threshold 图像属性返回。 |
color:illuminant | 参考光源,默认为 D65。 |
colorspace:auto-grayscale=on|off | 防止在支持灰度的编码器内部自动转换为灰度。这应该与 -type truecolor 结合使用。PNG 和 TIF 不需要此定义。对于 PNG,只需使用 PNG24:image。对于 TIF,只需使用 -type truecolor。JPG 和 PSD 将需要此定义。 |
compare:ssim-radius=value | 设置结构相似性指数半径。 |
compare:ssim-sigma=value | 设置结构相似性指数 sigma。 |
compare:ssim-k1=value | 设置结构相似性指数 k1 参数。 |
compare:ssim-k2=value | 设置结构相似性指数 k2 参数。 |
complex:snr=value | 设置除以 SNR 常数 -complex。 |
compose:args=arguments | 使用 convert ... -compose ... -composite 时设置某些合成参数值。请参阅 图像合成。 |
compose:clip-to-self=true|false | 一些 -compose 方法可以修改覆盖区域之外的“目标”图像。默认情况下禁用。 |
compose:clamp=on|off | 将每个值为零以下的像素设置为零,并将任何值为量子范围以上的像素设置为量子范围(例如 65535),否则像素值保持不变。在 ImageMagick 6.9.1-3 及更高版本中支持的定义。 |
compose:colorspace=colorspace | 设置彩色合成运算符的颜色空间。默认值为 HCL。 |
compose:compose=on|off | 此特殊用法允许您执行图像通道的真正数学运算,而不会涉及 Alpha 合成效果。 |
connected-components:angle-threshold=value | 将任何等效椭圆角小于 value 的区域合并到其周围区域或最大的邻居。在 Imagemagick 7.0.9.24 中受支持。 |
connected-components:area-threshold=value | 将任何面积小于 value 的区域合并到其周围区域或最大的邻居。阈值可以选择包含范围,例如 410-1600。 |
connected-components:background-id=object-id | 识别哪个对象是要成为背景对象。在 Imagemagick 7.0.9.21 中受支持。 |
connected-components:circularity-threshold=value | 将任何圆形度小于 value 的区域合并到其周围区域或最大的邻居。圆形度计算为 4*pi*area/perimeter^2。在 Imagemagick 7.0.9.24 中受支持。 |
connected-components:diameter-threshold=value | 将任何直径小于 value 的区域合并到其周围区域或最大的邻居。直径计算为 sqrt(4*area/pi)。在 Imagemagick 7.0.9.24 中受支持。 |
connected-components:eccentricity-threshold=value | 将任何等效椭圆偏心率小于 value 的区域合并到其周围区域或最大的邻居。在 Imagemagick 7.0.9.24 中受支持。 |
connected-components:exclude-header=true | 列出没有标题的对象。在 Imagemagick 7.0.9.21 中受支持。 |
connected-components:keep=list-of-ids | 要保留在输出中的 id 值的逗号和/或连字符分隔列表。在 Imagemagick 6.9.3-0 中受支持。 |
connected-components:keep-colors=red;green;blue | 保留通过其颜色在分号分隔列表中识别的对象。在 Imagemagick 6.9.3-0 中受支持。 |
connected-components:keep-top=number-of-objects | 仅保留按面积排名前几个的对象。在 Imagemagick 7.0.9.21 中受支持。 |
connected-components:major-axis-threshold=value | 将任何等效椭圆长轴直径小于 value 的区域合并到其周围区域或最大的邻居。在 Imagemagick 7.0.9.24 中受支持。 |
connected-components:mean-color=true | 将输出图像从 id 值更改为平均颜色值。在 Imagemagick 6.9.2-8 中受支持。 |
connected-components:minor-axis-threshold=value | 将任何等效椭圆短轴直径小于 value 的区域合并到其周围区域或最大的邻居。在 Imagemagick 7.0.9.24 中受支持。 |
connected-components:perimeter-threshold=value | 将任何周长小于 value 的区域合并到其周围区域或最大的邻居。在 Imagemagick 7.0.9.24 中受支持。 |
connected-components:remove=list-of-ids | 要从输出中删除的 id 值的逗号和/或连字符分隔列表。在 Imagemagick 6.9.2-9 中受支持。 |
connected-components:remove-colors=red;green;blue | 删除通过其颜色在分号分隔列表中识别的对象。在 Imagemagick 6.9.3-0 中受支持。 |
connected-components:verbose=true | 列出每个区域的 id、边界框、质心、面积、平均颜色。 |
convolve:scale={kernel_scale}[!^] [,{origin_addition}] [%] | 定义内核缩放。特殊标志 ! 自动缩放至完整动态范围。! 标志可以与因子或百分比组合使用。然后在自动缩放后应用因子或百分比。例如 50%!。这会产生比完整动态范围缩放暗 50% 的结果。^ 标志确保内核是“零和”,例如当某些值是正值而某些值是负值时,如边缘检测内核。原点添加将该值添加到内核的中心像素。这产生的效果类似于将图像多次添加到滤波图像的结果中。典型值为 1,以便将原始图像添加到卷积的结果中。默认为 0。 |
deskew:auto-crop=true | 倾斜校正后自动裁剪图像。 |
delegate:bimodal=true | 指定从 Postscript 到 PDF 的直接转换。 |
distort:scale=value | 设置输出缩放因子以与 -distort 一起使用。 |
distort:viewport=WxH+X+Y | 设置视口以与 -distort 一起使用。 |
dither:diffusion-amount=X% | 设置要与 Floyd-Steinberg 扩散一起使用的扩散量 |
exif:sync-image=false | 默认情况下,图像的分辨率与 EXIF 配置文件同步。使用此定义忽略 EXIF 配置文件。 |
filename:literal=true | 默认情况下,输出文件名可以包含 嵌入的格式化字符。使用此选项绕过解释嵌入的格式化字符,而是按字面意思使用文件名。 |
filter:option=value | 设置要与 -resize 一起使用的过滤器选项。有关特定选项,请参见下文。 |
filter:b=value | 重新定义用于三次滤波器(如 Cubic、Catrom、Mitchel 和 Hermite)以及 Parzen 三次窗口函数的样条因子。如果仅定义了 b 或 c 值之一,则设置另一个值以生成“Cubic-Keys”滤波器。b 和 c 值的含义在 Mitchell-Netravali 的研究论文中定义。 |
filter:blur=factor | 缩放过滤器的 X 轴(及其窗口)。对于模糊使用 > 1.0,对于清晰使用 < 1.0。这仅应与高斯和类似高斯的简单滤波器一起使用,否则您可能无法获得预期的结果。 |
filter:c=value | 重新定义用于三次滤波器(如 Cubic、Catrom、Mitchel 和 Hermite)以及 Parzen 三次窗口函数的 Keys alpha 因子。如果仅定义了 b 或 c 值之一,则设置另一个值以生成“Cubic-Keys”滤波器。b 和 c 值的含义在 Mitchell-Netravali 的研究论文中定义。 |
filter:kaiser-alpha=value | 设置 Kaiser 窗口 alpha 值。当它乘以“PI”时,它等效于“kaiser-beta”并将覆盖该设置。它仅影响 Kaiser 窗口函数,不影响任何其他属性。 |
filter:kaiser-beta=value | 设置 Kaiser 窗口 beta 值。它仅影响 Kaiser 窗口函数,不影响任何其他属性。在 ImageMagick v6.7.6-10 之前,此选项称为“filter:alpha”(来自非常旧的“zoom”程序的继承)。它已更改以使函数符合更现代的学术研究用法,并更好地分配它以使其更具确定性。默认值为 6.5 |
filter:lobes=count | 设置要用于 Sinc/Bessel 滤波器的瓣数。这是一种指定滤波器“支持”范围的替代方法,旨在更适合于加窗滤波器,尤其是在用于图像扭曲时。 |
filter:sigma=value | 设置用于定义高斯滤波器的“sigma”值。默认 sigma 值为“0.5”。它仅影响高斯滤波器,但不缩小(但可能会放大)滤波器的“支持”。它可用于生成非常小的模糊,但滤波器不会因使用小的支持设置而“丢失”像素。较大的值“0.707”(“1/sqrt(2)”的值)是另一种常见设置。 |
filter:support=radius | 设置滤波器支持半径。它定义了滤波器应该有多大,从而直接定义了滤波重采样过程的速度有多慢。所有滤波器都具有默认的“首选”支持大小。一些滤波器(如拉格朗日滤波器和加窗滤波器)会根据此值进行自我调整。对于简单滤波器,此值要么不起作用(但会减慢重采样速度),要么会以有害的方式剪切滤波器函数。 |
filter:verbose=true | 启用将最终内部过滤器选择信息打印到标准输出。这包括关于正在使用的过滤器设置的带注释的标题,以及允许轻松绘制过滤器权重的数据。但是请注意,某些过滤器在内部是根据其他过滤器定义的。例如,Lanczos 滤波器是根据 SincFast 加窗 SincFast 滤波器定义的,而 Mitchell 滤波器定义为具有特定“B”和“C”设置的一般三次族滤波器。 |
filter:window=filter_function | IIR(无限脉冲响应)滤波器 Sinc 和 Jinc 使用给定的滤波器进行加窗(降低到定义的支持范围内的零)。这允许您指定要作为这些 IIR 滤波器的加窗函数使用的滤波器函数。许多定义的滤波器实际上是这些 IIR 滤波器的加窗函数。典型选择是 Box(有效地关闭加窗函数)。 |
filter:window-support=radius | 将加窗函数缩放至此大小。这会导致加窗(或自加窗拉格朗日滤波器)的行为就好像支持窗口大于实际提供给调用运算符的支持窗口一样。但是,滤波器仍然被剪裁到提供的真实支持大小。如果未设置,这将等于正常的滤波器支持大小。 |
h:format=value | 设置在写入 C 样式头文件时使用的图像编码格式。format 可以是 ImageMagick 支持的任何输出格式,除了 h 和 magick。如果省略此选项,则对于伪类图像默认为 GIF,对于直接类图像默认为 PNM。 |
fourier:normalize=inverse | 设置 FFT/IFT 归一化位置,由 +-fft 和 +-ift 使用。默认值为 forward。 |
frames:step | 在选择图像 帧 时,默认情况下每次遍历列表逐步前进一帧,例如 [0-3] 返回帧 0、1、2 和 3。在此示例中将步长设置为 2,我们将获得帧 0 和 2。 |
fx:debug=true | 调试 -fx 表达式。 |
hough-lines:accumulator=true | 除了线图像外,还返回累加器图像。 |
json:features | 在详细的信息中包含特征。 |
json:limit | |
json:locate | |
json:moments | 在详细的信息中包含图像矩。 |
kmeans:seed-colors=color-list | 初始化颜色,其中 color-list 是一个用分号分隔的种子颜色列表(例如 red;sRGB(19,167,254);#00ffff) |
magick:format=value | 设置在写入 C 样式头文件时使用的图像编码格式。这与上面描述的“h:format=format”相同。 |
magnify:method=value | 选择像素艺术放大的方法。选项包括:eagle2X、eagle3X、eagle3XB、epb2X、fish2X、hq2X、scale2X(默认)、scale3X、xbr2X |
modulate:colorspace=colorspace | 定义与 -modulate 一起使用的色彩空间。可以使用任何基于色相的色彩空间。默认值为 HSL。 |
morphology:compose=compose-method | 指定如何合并由多个 -morphology 内核生成的的结果。默认值为 none。一个典型值是 'lighten',例如,与 sobel 边缘内核一起使用时。 |
morphology:showKernel=1 | 输出(到“标准错误”)有关生成的 -morphology 内核的所有信息。 |
phash:colorspaces=colorspace,colorspace,... | 感知哈希默认为 sRGB 和 HCLp 色彩空间。使用此定义时,您可以指定最多六个备用色彩空间。(截至 IM 7.0.3-8) |
phash:normalize=true | 规范化 phash 度量。 |
pixel:compliance={none|undefined|svg|mvg|x11|xpm} | 结合 -depth,此定义允许颜色值以一种或多种组合形式呈现:百分比、名称、8 位分量或十六进制值。16 位深度值通常显示为百分比,而 8 位深度值通常显示为颜色名称和 8 位分量值的组合。 |
png:bit-depth=value | |
png:chunk-malloc-max=value | 设置最大块大小。 |
profile:skip=name1,name2,... | 读取图像时跳过指定的配置文件。使用 skip="*" 跳过图像中所有命名的配置文件。存在许多命名的配置文件,包括 ICC、EXIF、APP1、IPTC、XMP 等。 |
precision:highres-transform=true | 提高配置文件转换精度。请注意,由于高精度转换是浮点而不是无符号的,因此性能会略有下降。需要注意的是,结果可能取决于原始图像是否已包含配置文件。 |
preserve-timestamp=true|false | 保留文件时间戳(仅限 mogrify)。 |
q-table=quantization-table.xml | 自定义 JPEG 量化表。 |
quantum:format=type | 将类型设置为 floating-point 以指定原始文件的浮点格式(例如 GRAY:)或 HDRI 模式下的 MIFF 和 TIFF 图像以保留负值。如果包含 -depth 16,则结果为单精度浮点格式。如果包含 -depth 32,则结果为双精度浮点格式。对于带符号的像素数据,请使用 -define quantum:format=signed |
quantum:maximum=value | 某些图像类型(例如 DCM)的最大值。如果未设置,则最大值为 QuantumRange。 |
quantum:minimum=value | 某些图像类型(例如 DCM)的最小值。如果未设置,则最小值为零。 |
quantum:polarity=photometric-interpretation | 将图像的光度解释(通常用于 TIFF 图像文件格式)设置为 min-is-black(默认)或 min-is-white。 |
registry:attribute=value | 设置图像注册表的属性,例如,registry:temporary-path=/data/tmp。 |
registry:date:precision=length | 设置打印任何时间戳的最大字符数。 |
registry:option:pedantic=true | false | 默认情况下,如果命令行选项也是文件名(例如,-quality),则将其解释为文件名。将此选项设置为 true 以将其解释为选项。 |
registry:precision=value | 设置要打印的最大有效数字位数。 |
resample:verbose=true | 输出由 EWA(椭圆加权平均)重采样算法创建的圆柱滤波器查找表。请注意,此表使用平方半径查找值。这通常仅用于调试 EWA 重采样。 |
sample:offset=geometry | 采样点在正在采样的子区域内的位置,以百分比表示(请参阅 -sample)。 |
shepards:power=value | 设置 Shepard 畸变中的指数。默认值为 2。 |
stream:buffer-size=value | 设置流缓冲区大小。选择 0 表示无缓冲 I/O。 |
trim:percent-background=X% | 设置边缘中容许的背景量。它以百分比指定。0% 表示不容许背景。50% 表示边缘可以包含最多 50% 的模糊因子背景像素。 |
trim:edges={north,east,south,west} | 仅修剪图像的指定边缘。 |
trim:minSize=geometry | 将修剪限制为指定的大小。 |
type:features=string | 添加要由 RAQM 代理在复杂文本布局期间使用的字体功能。这通常用于启用默认情况下未启用的可选字体功能,但也可以用于禁用默认字体功能。功能包括控制字距调整、连字和阿拉伯语的功能。 |
type:hinting=false | 禁用字体提示。正确的字形渲染需要缩放后的点与目标设备像素网格对齐,这通常称为提示。其主要目的之一是确保在整个字体中都尊重重要的宽度和高度。(例如,通常希望“I”和“T”字形的中心垂直线具有相同的像素宽度。提示还管理诸如茎和超调等功能,这些功能在较小的像素尺寸下可能会导致问题。 |
white-balance:vibrance=value{%} | a 和 b 通道的颜色鲜艳度变化。 |
x:screen=true | 从根窗口获取图像。 |
x:silent=true | 导入图像时关闭蜂鸣声。 |
图像格式 | |
bmp3:alpha=true|false | 在 BMP 图像格式中写入时包含任何 alpha 通道。 |
bmp:format=value | 有效值为 bmp2、bmp3 和 bmp4。当在输出文件名之前添加“BMP2:”的方法不方便或不可用时,此选项很有用,例如在使用 mogrify 实用程序时。 |
bmp:subtype=value | BMP 通道深度子类型。选项包括:RGB555、RGB565、ARGB4444、ARGB1555。仅在 BMP(BMP4)中支持。BMP3 和 BMP2 不包含支持这些选项的头字段。 |
{caption,label}:{max,start}-pointsize=value | 这将设置在搜索文本注释仍适合图像边界的最大点大小时使用的边界点大小。 |
dcm:display-range=reset | 将显示范围设置为 DCM 图像格式的最小和最大像素值。 |
dcm:rescale=true | 启用对文件中重新缩放斜率和截距设置的解释。 |
dcm:rescale=true | 启用对文件中重新缩放斜率和截距设置的解释。 |
dcm:window=CxW | 指定 dcm 窗口中心和宽度。 |
dds:cluster-fit=true|false | 启用 DDS 集群拟合。 |
dds:compression=dxt1|dxt5|none | 设置 dds 压缩。 |
dds:mipmaps=value | 设置 dds 的 mipmaps 数。 |
dds:weight-by-alpha=true|false | 启用 DDS alpha 加权。 |
dng:max-raw-memory=value | 如果原始缓冲区大小大于该值(以兆字节为单位),则停止处理。默认为 8192。 |
dng:no-auto-bright=true | 禁用基于直方图的白电平。 |
dng:output-color=value | 选择输出色彩空间。选项包括:0 - 原始颜色(每个摄像机独有)、1 - sRGB D65(默认)、2 - Adobe RGB (1998) D65、3 - 广色域 RGB D65、4 - Kodak ProPhoto RGB D65、5 - XYZ、6 - ACES |
dng:read-thumbnail=true | 读取嵌入的缩略图并将其存储为名为“dng:thumbnail”的配置文件。 |
dng:use-auto-wb=true | 通过对整个图像进行平均计算白平衡。 |
dng:use-camera-wb=true | 使用摄像机指定的白平衡。默认为 true。 |
dot:layout-engine=value | 指定 DOT 图像格式的布局引擎(例如,neato)。 |
eps:use-cropbox=true | 强制 Imagemagick 尊重裁剪框。 |
exr:color-type=value | 指定 EXR 格式的颜色类型:RGB、RGBA、YC、YCA、Y、YA、R、G、B、A)。 |
fpx:view=value | 指定 FlashPix 查看对象,其中包含查看转换的规范。查看转换使应用程序能够将一组简单的编辑表示为“命令”列表,这些命令在实时应用于图像而不会更改原始图像。 |
ftxt:chsep=value | 用于读取和写入的分隔通道值的单个文本字符。默认值:","(逗号)。 |
ftxt:format=value | 用于写入和读取的格式字符串。默认值:"\x,\y:\c"。对于转义 \x 等,请参阅 [ftxt: 格式化文本](http://im.snibgo.com/fmttxt.htm)。 |
ftxt:hasalpha=value | 文本是否具有 alpha 通道,仅用于读取。默认值:false。 |
ftxt:nummeta=value | 元通道的数量,仅用于读取。默认值 0(零)。 |
heic:chroma=value | 设置 HEIC 色度参数。可能的值为:“420”、“422”、“444”。默认为“420”。 |
heic:depth-image=true | 如果容器具有深度图像,则提取它。 |
heic:preserve-orientation=true | 在 HEIC 解码期间保留原始 EXIF 方向并相应地旋转像素。默认情况下,EXIF 方向重置为“1”以匹配 HEIC 中像素的实际方向。 |
heic:speed=value | 设置 HEIC 速度参数。0-9 的整数。默认为 5。 |
icon:auto-resize | 在写入 ico 图像时自动存储多个大小(需要 256x256 的输入图像)。 |
jp2:layer-number=value | 设置要解码的最大质量层数。对于 JPT、JC2 和 J2K 也是如此。 |
jp2:number-resolutions=value | 设置要编码的分辨率数。对于 JPT、JC2 和 J2K 也是如此。 |
jp2:progression-order=value | 从 LRCP、RLCP、RPCL、PCRL 或 CPRL 中选择。对于 JPT、JC2 和 J2K 也是如此。 |
jp2:quality=value,value... | 设置质量层 PSNR,以 dB 为单位。顺序是从左到右按升序排列。默认情况下,只有一个无损质量层。对于 JPT、JC2 和 J2K 也是如此。 |
jp2:rate=value | 指定在写入 JPEG-2000 文件时使用的压缩因子。压缩因子是压缩比率的倒数。有效范围是 0.0 到 1.0,其中 1.0 表示无损压缩。如果定义,此值将覆盖 -quality 设置。质量设置为 75 会导致速率值为 0.06641。对于 JPT、JC2 和 J2K 也是如此。 |
jp2:reduce-factor=value | 设置要丢弃的最高分辨率级别的数量。对于 JPT、JC2 和 J2K 也是如此。 |
jpeg:arithmetic-coding=on|off | 启用/禁用霍夫曼优化。 |
jpeg:block-smoothing=on|off | |
jpeg:colors=value | 设置所需的颜色数,并让 JPEG 编码器进行量化。 |
jpeg:dct-method=value | 从 default、fastest、float、ifast 和 islow 中选择。 |
jpeg:extent=value | 限制最大 JPEG 文件大小,例如 -define jpeg:extent=400KB。JPEG 编码器将搜索导致输出文件不超过该值的最高压缩质量级别。从版本 6.9.2-5 开始,也会尊重 -quality 选项。在 6.9.1-0 和 6.9.2-4 之间,添加 -quality 100 以使 jpeg:extent 正确工作。在 6.9.1-0 之前,-quality 设置被忽略。 |
jpeg:fancy-upsampling=on|off | |
jpeg:optimize-coding=on|off | |
jpeg:q-table=table | |
jpeg:sampling-factor=sampling-factor-string | |
jpeg:size=geometry | 设置 JPEG 图像的大小提示,例如 -define jpeg:size=128x128。在减小大型 JPEG 图像的大小时,它对于提高性能和减少内存需求最有用。 |
jxl:effort=value | 设置 jpeg-xl 编码工作量。有效值范围为 3(falcon)到 9(tortoise)。 |
mng:need-cacheoff | 关闭流式 MNG 的播放缓存。 |
pcl:fit-to-page=true | |
pdf:author=author | 设置文档的作者 |
pdf:create-epoch=seconds | 设置文档的创建时间 |
pdf:creator=creator | 设置文档的创建者 |
pdf:fit-page=geometry | Geometry 指定读取 PDF 时调整大小的缩放尺寸。几何图形可以是 WxH{%} 或页面大小。不允许偏移量。(在 IM 6.8.8-8 中引入) |
pdf:fit-to-page=true | |
pdf:hide-annotations=true | 隐藏与页面 Annots 键关联的注释。 |
pdf:interpolate=true | 渲染时启用插值 |
pdf:keywords=keywords | 设置文档的关键词 |
pdf:modify-epoch=seconds | 设置文档的修改时间 |
pdf:no-identifier=true | 不要生成 ID 条目 |
pdf:page-direction=right-to-left | |
pdf:printed=true | 确定文件应使用注释和图像的“屏幕”或“打印机”选项进行显示还是打印。 |
pdf:producer=producer | 设置文档的生产者 |
pdf:subject=subject | 设置文档的主题 |
pdf:stop-on-error=true | |
pdf:thumbnail=false | 保存 PDF 文件时生成图像缩略图。 |
pdf:title=title | 设置文档的标题 |
pdf:use-cropbox=true | |
pdf:use-trimbox=true | |
png:color-type=value | PNG 输出所需的位深度和颜色类型。您可以强制 PNG 编码器使用与它通常选择的不同的位深度和颜色类型,但前提是这不会导致任何图像质量损失。任何试图降低图像质量的尝试都被视为错误,并且不会写入任何 PNG 文件。例如,如果您有一个 1 位黑白图像,您可以使用这些“定义”使其以 8 位灰度、索引甚至 64 位 RGBA 的形式写入。但是,如果您有一个 1600 万色的图像,则不能强制将其以灰度或索引 PNG 的形式写入。如果您希望这样做,则必须使用相应的 -depth、-colors 或 -type 指令在使用 PNG 编码器之前降低图像质量。请注意,在索引 PNG 文件中,“位深度”指的是每个索引的位数,可以是 1、2、4 或 8。在这些文件中,颜色样本始终具有 8 位深度。 |
png:compression-filter=value | 有效值为 0 到 9。0-4 是相应的 PNG 过滤器,5 表示自适应过滤(除具有颜色映射的图像外),6 表示所有图像的自适应过滤,7 表示 MNG“loco”压缩,8 表示带自适应过滤的 Z_RLE 策略,9 表示不带过滤的 Z_RLE 策略。 |
png:compression-level=value | 有效值为 0 到 9,其中 0 提供最少但最快的压缩,而 9 通常提供最佳且始终最慢的压缩。 |
png:compression-strategy=value | 有效值为 0 到 4,分别表示默认、过滤、huffman_only、rle 和固定 ZLIB 压缩策略。如果您使用的是不支持 Z_RLE(1.2.0 之前)或 Z_FIXED(1.2.2.2 之前)的旧版 zlib,则值 3 和 4 将分别使用 zlib 默认策略。 |
png:format=value | 有效值为 png8、png24、png32、png48、png64 和 png00。此属性对于指定要使用的特定 PNG 格式很有用,当在输出文件名之前添加格式名称的常用方法不方便时,例如在写入 PNG 编码的 ICO 文件或使用 mogrify 时。Value = png8 将颜色数减少到 256,其中只有一个可能是完全透明的(如果需要)。其他值不会强制降低任何质量;请求无法在不损失质量的情况下表示图像数据的格式是错误的(除了允许将所有格式的位深度从 16 降低到 8)。Value = png24 和 png48 允许透明度,仅当单一颜色完全透明且该颜色也不出现在不透明像素中时;此类透明度以 PNG tRNS 块写入。Value = png00 使图像从输入图像继承其颜色类型和位深度,如果输入也是 PNG。 |
png:exclude-chunk=value | |
png:include-chunk=value | 要从 PNG 输出中排除或包含的辅助块。 Value 可以是 PNG 块类型的名称,例如 bKGD,块名称的逗号分隔列表(可以包含单词 date、单词 all 或单词 none)。尽管 PNG 块名称区分大小写,但如果愿意,您可以使用所有小写名称。 “include-chunk”和“exclude-chunk”列表仅影响 PNG 编码器的行为,对 PNG 解码器没有影响。 作为特殊情况,如果排除了 sRGB 块并包含了 gAMA 块,则仅当 gamma 不为 1/2.2 时才会写入 gAMA 块,因为大多数解码器在 PNG 文件中不包含颜色空间信息时不假设 sRGB 为 gAMA=0.45455。由于列表是从左到右处理的,因此您可以使用单个定义来实现此目的。 -define png:include-chunk=none,gAMA 作为特殊情况,如果未排除 sRGB 块并且 PNG 编码器识别图像包含 sRGB ICC 配置文件,则 PNG 编码器将写入 sRGB 块而不是整个 ICC 配置文件。要强制 PNG 编码器将 sRGB 配置文件作为输出 PNG 中的 iCCP 块而不是 sRGB 块写入,请排除 sRGB 块。 关键 PNG 块 IHDR、PLTE、IDAT 和 IEND 不能排除。列表中出现的任何此类条目都将被忽略。 如果排除了辅助 PNG tRNS 块并且图像具有透明度,则 PNG 颜色类型强制为 4 或 6(GRAY_ALPHA 或 RGBA)。如果图像不透明,则无论如何都不会写入 tRNS 块,并且对输出图像的 PNG 颜色类型没有影响。 -strip 选项对 PNG 输出执行以下操作的等效操作 -define png:exclude-chunk=EXIF,iCCP,iTXt,sRGB,tEXt,zCCP,zTXt,date 默认行为是包含所有已知的 PNG 辅助块以及 ImageMagick 的私有 vpAg(“虚拟页面”)块,并排除 ImageMagick 未知的所有 PNG 块,无论其 PNG“复制安全”状态如何,如 PNG 规范中所述。 如果“include-chunk”或“exclude-chunk”列表中出现 ImageMagick 未知的任何块名称,则将被忽略。ImageMagick 目前已知的辅助块是 bKGD、cHRM、gAMA、iCCP、oFFs、orNT、pHYs、sRGB、tEXt、tRNS、vpAg 和 zTXt。 您还可以将 date 放入列表中,以包含或排除 ImageMagick 通常插入输出 PNG 中的“Date:create”和“Date:modify”文本块。 |
png:ignore-crc[=true] | 当您知道您的图像没有 CRC 或 ADLER32 错误时,这可以加快解码速度。它还有助于调试来自“模糊测试器”的错误报告。 |
png:preserve-colormap[=true] | 使用现有的 image->colormap。通常,PNG 编码器会尝试优化调色板,消除未使用的条目并将透明颜色放在首位。如果设置了此标志,则会抑制该行为。 |
png:preserve-iCCP[=true] | 默认情况下,PNG 解码器和编码器会检查任何存在的 ICC 配置文件(来自 PNG 输入中的 iCCP 块或通过选项提供),如果识别配置文件为 sRGB 配置文件,则将其转换为 sRGB 块。您可以使用 -define png:preserve-iCCP 来防止这种情况发生;在这种情况下,将读取或写入 iCCP 块,并且不会写入任何 sRGB 块。有些 ICC 配置文件声称是 sRGB,但存在各种错误导致 libpng16 拒绝它们;无论如何都会识别这些配置文件并将其转换为 sRGB 块,但如果存在 -define png:preserve-iCCP,则会被拒绝。请注意,并非所有“sRGB”ICC 配置文件都被识别;我们将在遇到它们时将其添加到列表中。 |
png:swap-bytes[=true] | PNG 规范要求任何多字节整数都以网络字节序(MSB-LSB 端序)存储。此选项允许您修复任何无效的 PNG 文件,这些文件以小端序(LSB-MSB)错误地存储了 16 位样本。"-define png:swap-bytes" 选项必须出现在命令行上的输入文件名之前。交换在 libpng 解码操作期间完成。 |
ps:imagemask | 如果定义了 ps:imagemask 标志,则 PS3 和 EPS3 编码器将创建使用 Postscript imagemask 运算符而不是 image 运算符呈现双色调图像的 Postscript 文件。 |
psd:additional-info=all|selective | 此选项仅应在将 PSD 文件转换为另一个 PSD 文件时使用。这应该放在读取图像之后。这两个选项是“all”和“selective”。“selective”选项将保留与图像几何形状无关的所有其他信息。“all”选项仅应在图像的几何形状未更改时使用。此选项在传输非简单图层(例如,从输入 PSD 文件到输出 PSD 文件的调整图层)时很有用。如果不使用此选项,则不会保留其他信息。此定义从 Imagemagick 版本 6.9.5-8 开始可用。 |
psd:alpha-unblend=off | 禁用在将 alpha 通道添加到输出图像之前,对扁平化图层 0 的基础图像的透明度的新的自动取消混合。此定义必须放在输入 psd 图像之前。(从 IM 6.9.2.5 开始可用)。自动取消混合是 IM 6.9.2.5 的新功能,可防止在输出图像中两次应用透明度。此选项应在读取图像之前设置。 |
psd:preserve-opacity-mask=true | 此选项仅应在将 PSD 文件转换为另一个 PSD 文件时使用。它将保留图层的透明度蒙版,并在保存图像时将其添加回图层。将其设置为“true”将启用此功能。此定义从 Imagemagick 版本 6.9.5-10 开始可用。 |
psd:write-layers=false | 此选项可用于禁用写入 PSD 文件的图层。 |
psd:replicate-profile=true | 此选项可用于将图像配置文件复制到所有图像,而不是仅复制返回的第一个图像。 |
ptif:pyramid=min-basexlevels | 指定金字塔的最小基数和级别数,例如 64x4。 |
svg:substitute-entities=true | 如果您信任源,请启用实体替换。 |
svg:parse-huge=true | 启用您信任源的非常大的 SVG 的渲染。 |
tga:preserve-orientation=true | 保留图像方向。 |
tga:write-footer=true | 启用空可选页脚的写入。 |
tiff:alpha=associated|unassociated|unspecified | 指定 alpha 附加样本为关联、不关联或未指定。 |
tiff:assume-alpha=true|false | 假设未声明的额外通道为 alpha。 |
tiff:endian=msb|lsb | |
tiff:exif-properties=false | 禁用读取 EXIF 属性。 |
tiff:fill-order=msb|lsb | |
tiff:peg-tables-mode=0-3 | 当 tiff 文件使用 jpeg 压缩写入时,设置 TIFFTAG_JPEGTABLESMODE。 |
tiff:gps-properties=false | 禁用读取 GPS 属性。 |
tiff:ignore-layers=true | 忽略 Photoshop 图层。 |
tiff:ignore-tags=逗号分隔的标签 ID 列表 | 允许忽略一个或多个标签 ID 值。 |
tiff:predictor=[1, 2 或 3] | 在应用编码方案之前应用于图像数据的数学运算符。基本思想是图像的后续像素彼此相似。因此,减去先前像素中已包含的像素信息可能会大大降低其信息密度并有助于后续压缩。1 = 编码前不使用预测方案。2 = 水平差分。3 = 浮点水平差分。 |
tiff:preserve-compression=true | 保留源图像的压缩。 |
tiff:rows-per-strip=值 | 设置每条带的行数。 |
tiff:tile-geometry=WxH | 设置金字塔 tiff 的图块大小。需要在输出名称之前添加后缀 PTIF:。 |
video:intermediate-format={pam,webp} | 设置 ffmpeg 的视频中间格式选项。 |
video:pixel-format=值 | 设置 ffmpeg 的像素格式选项。 |
video:vsync=值 | 设置 ffmpeg 的 vsync 选项。 |
伪图像格式 | |
caption:max-pointsize=点大小 | 限制最大点大小。 |
caption:split=布尔值 | 如果需要将文本拆分以适应画布上的标题。 |
gradient:angle=角度(以度为单位) | 对于线性渐变,这指定了从 color1 到 color2 的渐变方向,相对于北(向上)以顺时针方向为正。对于径向渐变,这指定了渐变相对于其正常的 X-Y 方向以顺时针方向旋转。在 Imagemagick 6.9.2-5 中受支持。 |
gradient:bounding-box=WxH+X+Y | 将渐变限制在比图像尺寸更大或更小的区域。如果边界框定义的区域小于图像,则 color1 将是背景的颜色。在 Imagemagick 6.9.2-5 中受支持。 |
gradient:center=x,y | 指定径向渐变中心点的坐标。默认为图像中心。在 Imagemagick 6.9.2-5 中受支持。 |
gradient:direction=值 | 指定线性渐变朝向顶部/底部/左侧/右侧或对角角的方向。选择包括:西北、北、东北、西、东、西南、南、东南。在 Imagemagick 6.9.2-5 中受支持。 |
gradient:extent=值 | 指定以图像为中心的径向渐变的形状。选择包括:圆形、对角线、椭圆形、最大、最小。圆形和最大即使对于半径等于图像的半宽和半高的较大值的矩形图像,也会绘制圆形径向渐变。圆形和最大选项都等效于默认的径向渐变。最小选项即使对于半径等于图像的半宽和半高的较小值的矩形图像,也会绘制圆形径向渐变。对角线选项即使对于半径等于图像半对角线的矩形图像,也会绘制圆形径向渐变。椭圆选项为矩形图像绘制椭圆径向渐变,其半径等于图像的半宽和半高。在 Imagemagick 6.9.2-5 中受支持。 |
gradient:radii=x,y | 指定渐变的 x 和 y 半径。如果 x 半径和 y 半径相等,则径向渐变的形状将为圆形。如果它们不同,则形状将为椭圆形。默认值为图像的半宽和半高的最大值。在 Imagemagick 6.9.2-5 中受支持。 |
gradient:vector=x1,y1,x2,y2 | 指定从向量 1 (x1,y1) 到向量 2 (x2,y2) 的线性渐变方向。Color1 (fromColor) 将位于向量位置 x1,y1,而 color2 (toColor) 将位于向量位置 x2,y2。在 Imagemagick 6.9.2-5 中受支持。 |
histogram:unique-colors=false | 抑制图像唯一颜色的文本列表。 |
pango:align=left|center|right | |
pango:auto-dir=true|false | |
pango:ellipsize=start|middle|end | |
pango:gravity-hint=natural|strong|line | |
pango:hinting=none|auto|full | |
pango:indent=点数 | |
pango:justify=true|false | |
pango:language=en_US|其他 | |
pango:markup=true|false | |
pango:single-paragraph=true|false | |
pango:wrap=word|char|word-char | |
pixel:compliance=值 | 根据多个标准设置“pixel:”输出格式。选择包括 SVG、None、Undefined、MVG、X11、XPM。默认情况下,以 (s)rgb(r,g,b) 或 (s)rgba(r,g,b,a) 形式列出 (s)RGB 颜色的列表值。颜色名称将不再显示。对于 sRGB 或 RGB 颜色,SVG、X11、XPM 和 None 选项列出颜色名称(如果存在)。MVG 和 Undefined 选项列出十六进制值。当颜色显示或转换为基于色调的颜色空间时,列出的值将是色调的整数以及其他两个分量的百分比。对于其他颜色空间,值可以列为百分比或分数。将深度设置为 8 将使值限制在 8 位范围内,色调颜色除外。 |
txt:compliance=值 | 根据多个标准设置括号中值的“txt:”格式。选择包括 svg、none、undefined、mvg、x11、xpm。默认情况下将列出 (s)RGB 颜色的量子范围内的值。对于所有 Q 级编译,SVG、X11、XPM、MVG 和 None 选项列出 8 位范围内的值。undefined 选项也列出量子范围内的值。当颜色显示或转换为基于色调的颜色空间时,列出的值将是色调的整数以及其他两个分量的百分比。对于其他颜色空间,值可以列为百分比或分数。将深度设置为 8 将使值限制在 8 位范围内,色调颜色除外。 |
webp:标签=值 | WebP 具有大量定义,详见此 页面。 |
xmp:validate={true,false} | 默认情况下,ImageMagick 会验证嵌入到图像中的任何 XMP 配置文件。 |
识别定义 | |
identify:locate=minimum|maximum | 查找一个或多个图像最小值或最大值的坐标。 |
identify:limit=数字 | 查找指定数量的最小值或最大值的坐标。 |