문제:
이미지 추가를 위한 ImageMagick 명령 CMD에서 성공적으로 실행되는 동안 PowerShell에서 이미지에 대한 워터마크가 실행되지 않습니다.
원인:
명령이 다른 셸에서 다르게 해석될 수 있는 특수 문자를 사용합니다(예: , bash, CMD32, PowerShell).
해결책:
인용 및 셸 구문:
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>
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
크로스 -플랫폼 솔루션:
셸 관련 인용 문제를 방지하려면 ImageMagick의 "-script" 옵션을 사용하여 파일에서 명령을 읽습니다.
<code class="sh">magick -script script.mgk</code>
스크립트 파일( script.mgk):
-size 640x480 xc:#ffff00 ( foreground.png -resize 50% ) -gravity center -composite -write result.png
위 내용은 ImageMagick 명령이 CMD에서는 작동하지만 PowerShell에서는 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!