ホームページ  >  記事  >  バックエンド開発  >  PowerShell で ImageMagick コマンドが失敗するのはなぜですか?

PowerShell で ImageMagick コマンドが失敗するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-25 09:06:02234ブラウズ

Why Is My ImageMagick Command Failing in PowerShell?

PowerShell ウィンドウで ImageMagick コマンドが機能しない

問題:

PowerShell で ImageMagick コマンドを使用しようとすると、 -fill パラメータが認識されないというエラーが発生します。

検討中のコマンド:

<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>

原因:

この問題は、ImageMagick コマンドで使用される特殊文字の PowerShell 解釈から発生します。 PowerShell では、特定の文字を処理するために特定の引用戦略が必要です。

考えられる解決策:

  • バックスラッシュを使用して文字をエスケープする: バックスラッシュ ( ) などの特殊文字 () や角括弧 [] の前。
  • バッククォートで囲みます: ImageMagick コマンド全体をバッククォート (`) で囲みます。これにより、PowerShell がコマンドを文字列として解釈できるようになります。
  • スクリプト ファイルを使用する: ImageMagick コマンドでスクリプト ファイルを作成し、magick -script script_name を使用して呼び出します。このアプローチにより、PowerShell 内で引用符やエスケープを行う必要がなくなります。

クロスプラットフォーム スクリプト:

クロスプラットフォームの互換性を確保するには、以下を使用することをお勧めします。 ImageMagick によって直接読み取られるスクリプト ファイル。シェル環境の制限を回避します。

クロスプラットフォーム スクリプトの例:

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

呼び出しコマンド:

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

このスクリプトは引用符がなく、プラットフォームに依存しないことに注意してください。

以上がPowerShell で ImageMagick コマンドが失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。