Color Modes - ImageMagick 圖像庫

定義

命令列選項 -define 可新增特定的全域設定,這些設定通常用於控制編碼器和影像處理操作。

此選項會為編碼器和解碼器建立一或多個定義,以便在讀取和寫入影像資料時使用。定義通常用於控制影像檔案格式編碼器模組和影像處理操作,超出一般方法所能提供的範圍。已定義的設定會列在 -verbose 資訊(「info:」輸出格式)的「Artifacts」中。

如果定義缺少 ,則會使用該名稱建立一個空值的旗標定義。這用於控制開啟/關閉選項。使用 -define keys 可移除先前建立的定義。使用 +define "*" 可移除所有現有的定義。

相同的「artifact」設定也可以使用 -set "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= 設定結構相似性指標半徑。
compare:ssim-sigma= 設定結構相似性指標標準差。
compare:ssim-k1= 設定結構相似性指標 k1 參數。
compare:ssim-k2= 設定結構相似性指標 k2 參數。
complex:snr= 設定除法訊噪比常數 -complex
compose:args=參數 在使用 convert ... -compose ... -composite 時,設定某些合成參數值。請參閱 影像合成
compose:clip-to-self=true|false 某些 -compose 方法可能會修改重疊區域外的「目標」影像。預設為停用。
compose:clamp=on|off 將值小於零的每個像素設定為零,並將值大於量子範圍的任何像素設定為量子範圍(例如 65535),否則像素值保持不變。ImageMagick 6.9.1-3 及以上版本支援此定義。
compose:colorspace=色彩空間 設定著色合成運算子的色彩空間。預設值為 HCL。
compose:compose=on|off 這種特殊用法允許您執行影像通道的真實數學運算,而不會涉及 Alpha 合成效果。
connected-components:angle-threshold= 將橢圓角度小於 的任何區域合併到其周圍區域或最大的鄰居中。Imagemagick 7.0.9.24 支援。
connected-components:area-threshold= 將面積小於 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= 設定與 -resize 搭配使用的濾鏡選項。特定選項請見下方說明。
filter:b= 重新定義用於 Cubic、Catrom、Mitchel 和 Hermite 等三次濾鏡以及 Parzen 三次窗口函數的樣條因子。如果僅定義 b 或 c 值之一,則會設定另一個值以產生「Cubic-Keys」濾鏡。b 和 c 值的含義在 Mitchell-Netravali 的研究論文中有定義。
filter:blur=係數 縮放濾鏡的 X 軸(及其窗口)。使用 > 1.0 表示模糊,< 1.0 表示銳利。這應該只用於高斯和類高斯濾鏡等簡單濾鏡,否則您可能無法獲得預期的結果。
filter:c= 重新定義用於 Cubic、Catrom、Mitchel 和 Hermite 等三次濾鏡以及 Parzen 三次窗口函數的 Keys alpha 因子。如果僅定義 b 或 c 值之一,則會設定另一個值以產生「Cubic-Keys」濾鏡。b 和 c 值的含義在 Mitchell-Netravali 的研究論文中有定義。
filter:kaiser-alpha= 設定 Kaiser 窗口 alpha 值。當它乘以「PI」時,它等於「kaiser-beta」並將覆蓋該設定。它只影響 Kaiser 窗口函數,不會影響任何其他屬性。
filter:kaiser-beta= 設定 Kaiser 窗口 beta 值。它只影響 Kaiser 窗口函數,不會影響任何其他屬性。在 ImageMagick v6.7.6-10 之前,此選項稱為「filter:alpha」(繼承自非常古老的「zoom」程式)。它被更改為使該函數與更現代的學術研究用法保持一致,並更好地分配它以使其更具確定性。預設值為 6.5
filter:lobes=數量 設定要使用的 Sinc/Bessel 濾波器的波瓣數量。這是指定濾波器「支持」範圍的另一種方法,旨在更適合於窗口濾波器,尤其是在用於圖像扭曲時。
filter:sigma= 設定用於定義高斯濾波器的「sigma」值。預設的 sigma 值為「0.5」。它只影響高斯濾波器,但不會縮小(但可能會放大)濾波器的「支持」。它可以用於產生非常小的模糊,但不會因為使用小的支持設定而導致濾波器「丟失」像素。「0.707」(「1/sqrt(2)」的值)的較大值是另一個常見的設定。
filter:support=半徑 設定濾鏡支持半徑。它定義了濾鏡應該有多大,因此直接定義了濾鏡重採樣過程的速度。所有濾鏡都有預設的「首選」支持大小。一些濾鏡(如拉格朗日和窗口濾鏡)會根據此值進行自我調整。對於簡單的濾鏡,此值要么什麼都不做(但會減慢重採樣速度),要么會以有害的方式裁剪濾鏡函數。
filter:verbose=true 啟用將有關最終內部濾鏡選擇的信息打印到標準輸出的功能。這包括關於正在使用的濾鏡設定的註釋標題,以及允許輕鬆繪製濾鏡權重的數據。但是請注意,某些濾鏡在內部是根據其他濾鏡定義的。例如,Lanczos 濾鏡是根據 SincFast 窗口 SincFast 濾鏡定義的,而 Mitchell 濾鏡則定義為具有特定「B」和「C」設定的通用三次濾鏡系列。
filter:window=濾鏡函數 IIR(無限脈衝響應)濾波器 Sinc 和 Jinc 使用給定的濾波器進行加窗(在定義的支撐範圍內降至零)。這允許您指定一個濾波器函數作為這些 IIR 濾波器的加窗函數。許多已定義的濾波器實際上是這些 IIR 濾波器的加窗函數。一個典型的選擇是 Box(它有效地關閉了加窗函數)。
filter:window-support=半徑 將加窗函數縮放到此大小。這會導致加窗(或自加窗拉格朗日濾波器)的作用就像支撐窗口大於實際提供給調用運算符的窗口一樣。但是,濾波器仍然被裁剪到提供的實際支撐大小。如果未設置,則將等於正常的濾波器支撐大小。
h:format= 設置在寫入 C 語言樣式標頭時使用的圖像編碼格式。格式 可以是 ImageMagick 支持的任何輸出格式,除了 hmagick。如果省略此選項,則默認為 PseudoClass 圖像使用 GIF,DirectClass 圖像使用 PNM
fourier:normalize=反向 設置 +-fft+-ift 使用的 FFT/IFT 歸一化的位置。默認為 正向
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=顏色列表 初始化顏色,其中顏色列表是用分號分隔的種子顏色列表(例如 red;sRGB(19,167,254);#00ffff)。
magick:format= 設置在寫入 C 語言樣式標頭時使用的圖像編碼格式。這與上面描述的 "h:format=format" 相同。
magnify:method= 選擇像素藝術放大的方法。選項有:eagle2X、eagle3X、eagle3XB、epb2X、fish2X、hq2X、scale2X(默認)、scale3X、xbr2X。
modulate:colorspace=色彩空間 定義與 -modulate 一起使用的色彩空間。可以使用任何基於色調的色彩空間。默認為 HSL。
morphology:compose=組合方法 指定如何合併由多個 -morphology 內核生成的結果。默認為無。一個典型值是“lighten”,例如與 sobel 邊緣內核一起使用。
morphology:showKernel=1 輸出(到“標準錯誤”)有關生成的 -morphology 內核的所有信息。
phash:colorspaces=色彩空間,色彩空間,... 感知哈希默認為 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=
png:chunk-malloc-max= 設置最大塊大小。
profile:skip=名稱1,名稱2,... 在讀取圖像時跳過命名的配置文件。使用 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= 有效值為 bmp2bmp3bmp4。當在輸出檔名之前加上「BMP2:」的方法不方便或不可用時,例如使用 mogrify 工具時,此選項會很有用。
bmp:subtype= BMP 色板深度子類型。選項有:RGB555、RGB565、ARGB4444、ARGB1555。僅在 BMP (BMP4) 中支援。BMP3 和 BMP2 不包含支援這些選項的標頭欄位。
{caption,label}:{max,start}-pointsize= 這會設定在搜尋文字註解仍然適合圖像邊界的最大點大小時使用的邊界點大小。
dcm:display-range=重置 將顯示範圍設定為 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= 設定 dds mipmap 數量。
dds:weight-by-alpha=true|false 啟用 DDS Alpha 加權。
dng:max-raw-memory= 如果原始緩衝區大小增長超過該值(以 MB 為單位),則停止處理。預設值為 8192。
dng:no-auto-bright=true 停用基於直方圖的白階。
dng:output-color= 選擇輸出色彩空間。選項有: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= 指定 DOT 圖像格式的佈局引擎(例如,neato)。
eps:use-cropbox=true 強制 Imagemagick 遵守裁剪框。
exr:color-type= 指定 EXR 格式的顏色類型:RGB、RGBA、YC、YCA、Y、YA、R、G、B、A)。
fpx:view= 指定 FlashPix 檢視物件,其中包含檢視轉換的規格。檢視轉換使應用程式能夠將一組簡單的編輯表示為應用於圖像的「命令」清單,而無需更改原始圖像。
ftxt:chsep= 用於讀取和寫入的單個文字字元,用於分隔通道值。預設值:","(逗號)。
ftxt:format= 用於寫入和讀取的格式字串。預設值:"\x,\y:\c"。有關轉義符 \x 等,請參閱 [ftxt: 格式化文字](http://im.snibgo.com/fmttxt.htm)。
ftxt:hasalpha= 文字是否具有 Alpha 色板,僅供讀取。預設值:false。
ftxt:nummeta= 元通道的數量,僅供讀取。預設值 0(零)。
heic:chroma= 設定 HEIC 色度參數。可能的值為:「420」、「422」、「444」。預設值為「420」。
heic:depth-image=true 如果容器有一個,則提取深度圖像。
heic:preserve-orientation=true 在 HEIC 解碼期間保留原始 EXIF 方向,並相應旋轉像素。預設情況下,EXIF 方向會重置為「1」,以匹配 HEIC 中像素的實際方向。
heic:speed= 設定 HEIC 速度參數。整數值介於 0-9 之間。預設值為 5。
icon:auto-resize 寫入 ico 圖像時自動儲存多種尺寸(需要 256x256 輸入圖像)。
jp2:layer-number= 設定要解碼的最大品質層數。JPT、JC2 和 J2K 也相同。
jp2:number-resolutions= 設定要編碼的分辨率數量。JPT、JC2 和 J2K 也相同。
jp2:progression-order= 從 LRCP、RLCP、RPCL、PCRL 或 CPRL 中選擇。JPT、JC2 和 J2K 也是一樣。
jp2:quality=值, 值... 設定以 dB 為單位的品質層 PSNR。順序從左到右依升冪排列。預設值是單一無失真品質層。JPT、JC2 和 J2K 也是一樣。
jp2:rate= 指定在寫入 JPEG-2000 檔案時要使用的壓縮係數。壓縮係數是壓縮率的倒數。有效範圍是 0.0 到 1.0,其中 1.0 表示無失真壓縮。如果已定義,則此值會覆寫 -quality 設定。品質設定為 75 會導致速率值為 0.06641。JPT、JC2 和 J2K 也是一樣。
jp2:reduce-factor= 設定要捨棄的最高解析度級別數。JPT、JC2 和 J2K 也是一樣。
jpeg:arithmetic-coding=開啟|關閉 啟用/停用霍夫曼最佳化。
jpeg:block-smoothing=開啟|關閉
jpeg:colors= 設定所需的色彩數,並讓 JPEG 編碼器進行量化。
jpeg:dct-method= 預設值最快浮點數快速整數慢速整數 中選擇。
jpeg:extent= 限制 JPEG 檔案的最大大小,例如 -define jpeg:extent=400KB。JPEG 編碼器將搜尋輸出檔案不超過該值的最高壓縮品質級別。-quality 選項從 6.9.2-5 版開始也會被遵守。在 6.9.1-0 到 6.9.2-4 之間,請新增 -quality 100 以使 jpeg:extent 正常運作。在 6.9.1-0 之前,-quality 設定會被忽略。
jpeg:fancy-upsampling=開啟|關閉
jpeg:optimize-coding=開啟|關閉
jpeg:q-table=表格
jpeg:sampling-factor=取樣因子字串
jpeg:size=幾何 設定 JPEG 影像的大小提示,例如 -define jpeg:size=128x128。這在減少大型 JPEG 影像的大小時,對於提高效能和降低記憶體需求非常有用。
jxl:effort= 設定 jpeg-xl 編碼強度。有效值範圍為 3(falcon)到 9(tortoise)。
mng:need-cacheoff 關閉串流 MNG 的播放快取。
pcl:fit-to-page=true
pdf:author=作者 設定文件的作者
pdf:create-epoch=秒數 設定文件的建立時間
pdf:creator=建立者 設定文件的建立者
pdf:fit-page=幾何 幾何 指定在讀取 PDF 時調整大小的縮放尺寸。幾何可以是 WxH{%} 或頁面大小。不允許偏移量。(IM 6.8.8-8 中引入)
pdf:fit-to-page=true
pdf:hide-annotations=true 隱藏與頁面 Annots 鍵關聯的註釋。
pdf:interpolate=true 在渲染時啟用插值
pdf:keywords=關鍵字 設定文件的關鍵字
pdf:modify-epoch=秒數 設定文件的修改時間
pdf:no-identifier=true 不要產生 ID 項目
pdf:page-direction=從右到左
pdf:printed=true 決定應使用註釋和影像的「螢幕」或「印表機」選項來顯示或列印檔案。
pdf:producer=製作人 設定文件的製作人
pdf:subject=主題 設定文件的主題
pdf:stop-on-error=true
pdf:thumbnail=false 在儲存 PDF 檔案時產生影像縮圖。
pdf:title=標題 設定文件的標題
pdf:use-cropbox=true
pdf:use-trimbox=true
png:color-type= PNG 輸出所需的位元深度和顏色類型。您可以強制 PNG 編碼器使用與其通常選擇不同的位元深度和顏色類型,但前提是這不會導致任何影像品質損失。任何降低影像品質的嘗試都將被視為錯誤,並且不會寫入 PNG 檔案。例如,如果您有一個 1 位元的黑白影像,您可以使用這些「定義」使其寫入為 8 位元灰階、索引,甚至 64 位元 RGBA。但是,如果您有一個 1600 萬色的影像,則無法強制將其寫入為灰階或索引 PNG。如果您想這樣做,則必須在使用 PNG 編碼器之前使用適當的 -depth-colors-type 指令來降低影像品質。請注意,在索引 PNG 檔案中,「位元深度」是指每個索引的位元數,可以是 1、2、4 或 8。在此類檔案中,顏色樣本始終具有 8 位元的深度。
png:compression-filter= 有效值為 0 到 9。0-4 是對應的 PNG 過濾器,5 表示除具有顏色表的影像外,採用自適應過濾,6 表示所有影像都採用自適應過濾,7 表示 MNG「loco」壓縮,8 表示採用自適應過濾的 Z_RLE 策略,9 表示不採用過濾的 Z_RLE 策略。
png:compression-level= 有效值為 0 到 9,其中 0 提供最小但最快的壓縮,而 9 通常提供最佳但始終最慢的壓縮。
png:compression-strategy= 有效值為 0 到 4,表示預設、已過濾、僅霍夫曼、rle 和固定 ZLIB 壓縮策略。如果您使用的是不支援 Z_RLE(1.2.0 之前版本)或 Z_FIXED(1.2.2.2 之前版本)的舊 zlib,則值 3 和 4 將分別使用 zlib 預設策略。
png:format= 有效值為 png8png24png32png48png64png00。當將格式名稱加在輸出檔名前面的常用方法不方便時(例如,在寫入 PNG 編碼的 ICO 檔案或使用 mogrify 時),此屬性對於指定要使用的特定 PNG 格式很有用。值 = png8 會將顏色數量減少到 256 種,如果需要,其中只有一種可以完全透明。其他值不會強制降低品質;請求無法在不損失的情況下表示影像資料的格式是錯誤的(除了允許將所有格式的位元深度從 16 減少到 8 之外)。值 = png24png48 僅允許在單一顏色完全透明且該顏色未出現在不透明像素中的情況下才能透明;此類透明度寫入 PNG tRNS 塊中。值 = png00 會使影像從輸入影像繼承其顏色類型和位元深度,前提是輸入也是 PNG。
png:exclude-chunk=
png:include-chunk= 要從 PNG 輸出中排除或包含的輔助區塊。

可以是 PNG 區塊類型的名稱(例如 bKGD)、以逗號分隔的區塊名稱清單(可以包含單字 dateallnone)。儘管 PNG 區塊名稱區分大小寫,但如果您願意,可以使用全小寫名稱。

「include-chunk」和「exclude-chunk」清單只會影響 PNG 編碼器的行為,而不會影響 PNG 解碼器。

作為一種特殊情況,如果排除了 sRGB 區塊並包含了 gAMA 區塊,則只有在 gamma 不是 1/2.2 的情況下才會寫入 gAMA 區塊,因為大多數解碼器在 PNG 檔案中未包含色彩空間資訊時,不會假設 gAMA=0.45455 為 sRGB。因為清單是從左到右處理的,所以您可以使用單一定義來實現這一點

-define png:include-chunk=none,gAMA
    

特殊情況下,如果未排除 sRGB 色彩區塊,且 PNG 編碼器識別出影像包含 sRGB ICC 色彩描述檔,則 PNG 編碼器將會寫入 sRGB 色彩區塊,而非整個 ICC 色彩描述檔。若要強制 PNG 編碼器將 sRGB 色彩描述檔寫入輸出 PNG 中的 iCCP 色彩區塊,而非 sRGB 色彩區塊,請排除 sRGB 色彩區塊。

關鍵 PNG 色彩區塊 IHDRPLTEIDATIEND 無法排除。清單中出現的任何此類項目都將被忽略。

如果排除了輔助 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「可安全複製」狀態為何。

如果任何 ImageMagick 未知的色彩區塊名稱出現在「include-chunk」或「exclude-chunk」清單中,則會忽略這些名稱。ImageMagick 目前已知的輔助色彩區塊為 bKGDcHRMgAMAiCCPoFFsorNTpHYssRGBtEXttRNSvpAgzTXt

您也可以將 date 放入清單中,以包含或排除 ImageMagick 通常會插入輸出 PNG 中的「Date:create」和「Date:modify」文字色彩區塊。

png:ignore-crc[=true] 當您知道影像沒有 CRC 或 ADLER32 錯誤時,這可以加快解碼速度。這也有助於偵錯「模糊測試器」的錯誤報告。
png:preserve-colormap[=true] 使用現有的影像 -> 色彩對應表。一般而言,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 端序)儲存。此選項允許您修復任何 16 位元樣本以小端序(LSB-MSB)錯誤儲存的無效 PNG 檔案。-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 使用 jpeg 壓縮寫入 tiff 檔案時,設定 TIFFTAG_JPEGTABLESMODE
tiff:gps-properties=false 停用讀取 GPS 屬性。
tiff:ignore-layers=true 忽略 Photoshop 圖層。
tiff:ignore-tags=comma-separate-list-of-tag-IDs 允許忽略一個或多個標籤 ID 值。
tiff:predictor=[1, 2 or 3] 在應用編碼方案之前應用於圖像數據的數學運算符。總體思路是圖像的後續像素彼此相似。因此,從先前像素中已經包含的信息中減去像素的信息可能會大大降低其信息密度並有助於後續壓縮。1 = 編碼前未使用預測方案。2 = 水平差分。3 = 浮點水平差分。
tiff:preserve-compression=true 保留源圖像的壓縮。
tiff:rows-per-strip=value 設定每條帶的行數。
tiff:tile-geometry=WxH 設定金字塔 tiff 的拼貼大小。需要在輸出名稱前面加上後綴 PTIF:。
video:intermediate-format={pam,webp} 設定 ffmpeg 的視訊中繼格式選項。
video:pixel-format=value 設定 ffmpeg 的像素格式選項。
video:vsync=value 設定 ffmpeg 的 vsync 選項。

虛擬圖像格式
caption:max-pointsize=pointsize 限制最大點大小
caption:split=boolean 如果需要將標題放在畫布上,則拆分文字
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=value 指定線性漸層朝向頂部/底部/左側/右側或對角線方向的方向。選項有:NorthWest、North、NorthEast、West、East、SouthWest、South、SouthEast。Imagemagick 6.9.2-5 版本開始支援。
gradient:extent=value 指定以影像為中心的徑向漸層的形狀。選項有:Circle、Diagonal、Ellipse、Maximum、Minimum。Circle 和 Maximum 會繪製圓形徑向漸層,即使是矩形影像,其半徑也等於影像半寬和半高中的較大值。Circle 和 Maximum 選項都相當於預設的徑向漸層。Minimum 選項會繪製圓形徑向漸層,即使是矩形影像,其半徑也等於影像半寬和半高中較小的值。Diagonal 選項會繪製圓形徑向漸層,即使是矩形影像,其半徑也等於影像對角線的一半。Ellipse 選項會為矩形影像繪製橢圓形徑向漸層,其半徑等於影像寬度和高度的一半。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=points
pango:justify=true|false
pango:language=en_US|others
pango:markup=true|false
pango:single-paragraph=true|false
pango:wrap=word|char|word-char
pixel:compliance=value 根據多種標準設定「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=value 根據多個標準設定括號中值的「txt:」格式。選項包括 svg、none、undefined、mvg、x11、xpm。預設會列出量子範圍內 (s)RGB 色彩的值。SVG、X11、XPM、MVG 和 None 選項會列出所有 Q 級編譯的 8 位元範圍內的值。undefined 選項也會列出量子範圍內的值。當色彩以基於色相的色彩空間呈現或轉換時,列出的值將是色相的整數和其他兩個組成的百分比。對於其他色彩空間,值可以列為百分比或分數值。將深度設定為 8 將限制值在 8 位元範圍內,但基於色相的色彩除外。
webp:標籤= WebP 有大量定義,詳情請見此頁面
xmp:validate={true,false} 預設情況下,ImageMagick 會驗證嵌入在影像中的任何 XMP 設定檔。

識別定義

identify:locate=最小值|最大值 找出一個或多個影像最小值或最大值的座標。
identify:limit=數字 找出指定數量的最小值或最大值的座標。