問題:
用於添加影像的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 "#ff0000" -colorize 100% ) ^ -composite -transparent "hsl(40,50,60)" result.png
CMD32:
magick IMAGE1.PNG ` `( IMAGE2.PNG -resize 50% -fill "#ff0000" -colorize 100% `) ` -composite -transparent "hsl(40,50,60)" 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
以上是為什麼 ImageMagick 命令在 CMD 中有效但在 PowerShell 中失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!