簡単に:
convert ( -size 585x128 gradient: ) NewImage.png
上記の ImageMagick コマンドを変更して、既存の画像から幅と高さを取得するにはどうすればよいですか? 1行のコマンドのままにする必要があります。
詳細:
ImageMagick を使用してプログラムでイメージの反射を作成しようとしています。私が探している効果は、水たまりの端にある物体を見たときに見えるものに似ています。ここでやろうとしていることについてはかなり良いスレッドがありますが、解決策はまさに私が探しているものではありません。C#.Net アプリケーションから ImageMagick を呼び出すので、一時ファイルを使用せずに 1 つの呼び出しを使用し、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
これは問題なく機能しますが、探している正確なフェードが得られません。上から下へのしっかりしたフェードの代わりに、左上から右下へのフェードを与えています。(-negate -evaluate 乗算 0.3 -negate) セクションを追加して、必要なフェードが得られなかったので、もう少し明るくしました。また、グラデーションを作成するときに画像のサイズをハードコーディングする必要もありません ( -size 585x128 gradient: ) また、可能であれば元の画像の透明度を維持したいと考えています。
stdout に移動するには、「NewImage.png」を「-」に置き換える予定です。