ImageMagick反射

5 graphics image-manipulation image imagemagick

简要:

convert ( -size 585x128 gradient: )  NewImage.png
Run Code Online (Sandbox Code Playgroud)

如何更改上面的ImageMagick命令,以便从现有图像中获取宽度和高度?我需要它来保持一行命令.


细节:

我正在尝试使用ImageMagick以编程方式创建图像反射.我正在寻找的效果类似于在水池边缘观察物体时所看到的效果.关于我在这里尝试做什么有一个很好的线程,但解决方案并不完全是我想要的.由于我将从C#.Net应用程序调用ImageMagick,我想使用一个没有任何临时文件的调用,并通过stdout返回图像.到目前为止我有这个......

convert OriginalImage.png  ( OriginalImage.png -flip -blur 3x5 \
    -crop 100%%x30%%+0+0 -negate -evaluate multiply 0.3 \
    -negate  ( -size 585x128 gradient: ) +matte -compose copy_opacity -composite )
    -append NewImage.png
Run Code Online (Sandbox Code Playgroud)

这可以正常,但不会给我我正在寻找的确切淡入淡出.它不是从上到下漂亮的固体褪色,而是从左上角到右下角给我一个淡入淡出.我添加了(-negate -evaluate multiply 0.3 -negate)部分以使其更加轻松,因为我没有得到我想要的淡入淡出.我也不想在创建渐变时使用图像大小的硬编码(-size 585x128渐变:)我也希望尽可能保持原始图像的透明度.

要去stdout我计划用" - "替换"NewImage.png"

kor*_*rro 1

如果您从 C# 调用它,也许您可​​以在 C# 中检索图像尺寸。然后调用 ImageMagick 命令

command = String.Format("convert bar %1x%2",img.Width,img.Height)
Run Code Online (Sandbox Code Playgroud)