Warum funktionieren ImageMagick-Befehle in CMD, schlagen jedoch in PowerShell fehl?

Barbara Streisand
Freigeben: 2024-10-26 08:58:02
Original
897 Leute haben es durchsucht

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

ImageMagick-Befehle werden nicht im PowerShell-Fenster, sondern im CMD-Fenster ausgeführt

Problem:

Ein ImageMagick-Befehl zum Hinzufügen eines Wasserzeichen für ein Bild kann in PowerShell nicht ausgeführt werden, während es in CMD erfolgreich ausgeführt wird.

Ursache:

Der Befehl verwendet Sonderzeichen, die von verschiedenen Shells unterschiedlich interpretiert werden können (z. B. , Bash, CMD32, PowerShell).

Lösung:

Anführungszeichen und Shell-Syntax:

Bash: Escapen Sie Klammern mit Backslashes und setzen Sie Hashes in Anführungszeichen.

CMD32: Verwenden Sie Carets für Escapezeichen und verdoppeln Sie Prozentzeichen.

Powershell: Escape-Klammern mit Backticks.

Escape-Techniken:

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

Beispielbefehle:

Bash:

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

CMD32:

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

Powershell:

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

Kreuz -Plattformlösung:

Um Shell-spezifische Anführungszeichenprobleme zu vermeiden, verwenden Sie die Option „-script“ von ImageMagick, um Befehle aus einer Datei zu lesen:

<code class="sh">magick -script script.mgk</code>
Nach dem Login kopieren

Skriptdatei ( script.mgk):

-size 640x480 xc:#ffff00
( foreground.png -resize 50% )
-gravity center -composite -write result.png
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum funktionieren ImageMagick-Befehle in CMD, schlagen jedoch in PowerShell fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!