在嘗試使用ImageMagick 指令時,使用者在Powershell 視窗中執行它們時遇到了挑戰。這些命令在 cmd 視窗中無縫運行。嘗試在括號前添加反斜線來解決該問題也沒有成功。調查顯示,magick指令確實包含在環境變數中。
儘管無法在Powershell中執行複雜的命令,但簡單的命令執行沒有問題。這顯示問題出在複雜的命令上。
ImageMagick 提供了大量的選項和功能,因此需要在使用時仔細注意引用和轉義。在各種環境下執行命令,包括:
Bash :
magick IMAGE1.PNG \ \( IMAGE2.PNG -resize 50% -fill '#ff0000' -colorize 100% \) \ -composite -transparent 'hsl(40,50,60)' result.png
Windows CMD32:
magick IMAGE1.PNG ^ ( IMAGE2.PNG -resize 50%% -fill "#ff0000" -colorize 100% ) ^ -composite -transparent "hsl(40,50,60)" result.png
Powershell:
magick IMAGE1.PNG ` `( IMAGE2.PNG -resize 50% -fill "#ff0000" -colorize 100% `) ` -composite -transparent "hsl(40,50,60)" result.png
為了避免因特定於環境的語法限製而產生的潛在問題,獨立於平台的方法涉及利用腳本。指令可以包含在副檔名為「.mgk」的檔案中,ImageMagick 可以直接執行它,繞過shell 解釋和引用問題:
script.mgk:
-size 640x480 xc:#ffff00 ( foreground.png -resize 50% ) -gravity center -composite -write result.png
調用:
magick -script script.mgk
通過採用這種技術,外殼仍然存在與腳本中使用的符號和字元無關,確保跨不同環境的無縫執行。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3