Maison  >  Article  >  développement back-end  >  Pourquoi ma commande ImageMagick échoue-t-elle dans PowerShell ?

Pourquoi ma commande ImageMagick échoue-t-elle dans PowerShell ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-25 09:06:02234parcourir

Why Is My ImageMagick Command Failing in PowerShell?

La commande ImageMagick ne fonctionne pas dans la fenêtre PowerShell

Problème :

Lors de la tentative d'utilisation d'une commande ImageMagick dans PowerShell, un une erreur se produit, affirmant que le paramètre -fill n'est pas reconnu.

Commande en cours d'examen :

<code class="sh">magick nature.jpg -set option:watermarkWidth &quot;%[fx:int(w*0.25)]&quot; -alpha set -background none ( -fill &quot;#FFFFFF80&quot; -stroke &quot;#FF000080&quot; -strokeWidth 3 -undercolor &quot;#FF000080&quot; -size &quot;%[watermarkWidth]x&quot; label:&quot;THIS IS WATERMARK&quot; -gravity center -geometry +10+10 -rotate -30 ) -composite -quality 40 nature_wm.jpg</code>

Cause :

Le problème vient de l'interprétation PowerShell des caractères spéciaux utilisés dans les commandes ImageMagick. PowerShell nécessite des stratégies de citation spécifiques pour gérer certains caractères.

Solutions possibles :

  • Échapper les caractères avec une barre oblique inverse : Utilisez une barre oblique inverse ( ) avant les caractères spéciaux, tels que les parenthèses () et les crochets [].
  • Entourez entre des guillemets : Placez l'intégralité de la commande ImageMagick entre des guillemets (`). Cela permet à PowerShell d'interpréter la commande comme une chaîne.
  • Utilisez un fichier de script : Créez un fichier de script avec la commande ImageMagick et invoquez-le en utilisant magick -script script_name. Cette approche élimine le besoin de citer ou d'échapper dans PowerShell.

Scripts multiplateformes :

Pour garantir la compatibilité multiplateforme, il est recommandé d'utiliser un fichier de script qui est lu directement par ImageMagick, évitant les limitations de l'environnement shell.

Exemple de script multiplateforme :

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

Commande d'appel :

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

Notez que ce script est sans guillemets et indépendant de la plateforme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn