首頁  >  文章  >  後端開發  >  為什麼 ImageMagick 命令在 CMD 中有效但在 PowerShell 中失敗?

為什麼 ImageMagick 命令在 CMD 中有效但在 PowerShell 中失敗?

Barbara Streisand
Barbara Streisand原創
2024-10-26 08:58:02878瀏覽

Why Do ImageMagick Commands Work in CMD but Fail in PowerShell?

ImageMagick 命令不在PowerShell 窗口中執行,而是在CMD 窗口中運行

問題:

用於添加影像的ImageMagick 指令在CMD 中成功運作時,影像的浮水印無法在PowerShell 中執行。

原因:

此指令使用可以被不同 shell 不同解釋的特殊字元(例如、bash、CMD32、PowerShell)。

解決方案:

引用和Shell 語法:

Bash: 用反斜杠轉義括號,並將雜湊值放在引號內。

CMD32: 使用脫字符號進行轉義並將百分號加倍。

Powershell: 用反引號轉義括號。

轉義技巧:

Shell Escape Character Line Continuation
Bash Backslash Backslash
CMD32 Caret ^ Caret ^
PowerShell Backtick ` Backtick `

範例指令:

Bash:

<code class="sh">magick IMAGE1.PNG \
   \( IMAGE2.PNG -resize 50% -fill '#ff0000' -colorize 100% \) \
  -composite -transparent 'hsl(40,50,60)' result.png</code>

Bash:

magick IMAGE1.PNG ^
   ( IMAGE2.PNG -resize 50%% -fill &quot;#ff0000&quot; -colorize 100% ) ^
  -composite -transparent &quot;hsl(40,50,60)&quot; result.png
Bash:

CMD32:
magick IMAGE1.PNG `
   `( IMAGE2.PNG -resize 50% -fill &quot;#ff0000&quot; -colorize 100% `) `
  -composite -transparent &quot;hsl(40,50,60)&quot; result.png

Powershell:

<code class="sh">magick -script script.mgk</code>

平台解決方案

-size 640x480 xc:#ffff00
( foreground.png -resize 50% )
-gravity center -composite -write result.png
為了避免shell 特定的引用問題,請使用ImageMagick 的「-s​​cript」選項從檔案中讀取指令:腳本檔(腳本. mgk):

以上是為什麼 ImageMagick 命令在 CMD 中有效但在 PowerShell 中失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn