首页 > 后端开发 > Golang > 正文

为什么 ImageMagick 命令在 CMD 中有效但在 PowerShell 中失败?

Barbara Streisand
发布: 2024-10-26 08:58:02
原创
898 人浏览过

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

ImageMagick 命令不在 PowerShell 窗口中执行,而是在 CMD 窗口中运行

问题:

用于添加图像的 ImageMagick 命令在 CMD 中成功运行时,图像的水印无法在 PowerShell 中执行。

原因:

该命令使用可以被不同 shell 不同解释的特殊字符(例如、bash、CMD32、PowerShell)。

解决方案:

引用和 Shell 语法:

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 &quot;#ff0000&quot; -colorize 100% ) ^
  -composite -transparent &quot;hsl(40,50,60)&quot; result.png
登录后复制

Powershell:

magick IMAGE1.PNG `
   `( IMAGE2.PNG -resize 50% -fill &quot;#ff0000&quot; -colorize 100% `) `
  -composite -transparent &quot;hsl(40,50,60)&quot; result.png
登录后复制

十字-平台解决方案:

为了避免 shell 特定的引用问题,请使用 ImageMagick 的“-script”选项从文件中读取命令:

<code class="sh">magick -script script.mgk</code>
登录后复制

脚本文件 (脚本.mgk):

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

以上是为什么 ImageMagick 命令在 CMD 中有效但在 PowerShell 中失败?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!