ImageMagick 変換を改善または短縮する方法について疑問に思っていました (私自身 ImageMagick はかなり初心者です)。
私が持っているのは、フラット イメージ (左の 1) と、変換されたフラット イメージで塗りつぶされる透明な領域 (右の 1、破線が塗りつぶされ、青と灰色が上に塗りつぶされている) を持つ 3D モックアップです。
いくつかの ImageMagick コマンドをいじって、ステップごとにここにリストします (実数ではありません)。私が探しているのは、このシーケンスを短縮/結合する方法と、最終的な画像に到達するために作成されたヘルパー画像の数です:
私の与えられた入力画像。(下にスクロールして、これら 2 つをどのように組み合わせて必要な出力を得るかを確認してください...)
フラッシュ画像をトリミングし、結果の 2 つの部分を斜めにします (トリミング コマンドを実行すると、トリミングされた結果とオーバーフローが吐き出されることに気付いたので、それを使用してフラット イメージの側面を分離します)。
# sequence for left side: convert base.png -crop WxH parts.png convert parts-0.png -virtual-pixel transparent -distort Perspective / '....' (-resize WxH) front-skewed.png #[... same for the right side ...]
歪んだ部分を組み合わせる:
convert front-skewed.png side-skewed.png +append fill.png
斜めの塗りつぶしとモックアップ カバー/マスクを組み合わせて、塗りつぶしが cover.png の透明な部分の下に挿入されるようにします (右の画像)。
composite fill.png cover.png -compose dst-atop -matte final.png
不要な中間イメージを削除した結果。
これを PHP から 経由で実行するexec
ので、これをよりスムーズに実行する方法についてのヒントを歓迎します。各変換を個別のexec
呼び出しとして呼び出す必要があると思いますよね?
これは過度に実行されることはありませんが、新しいイメージが追加されたときにのみ実行されるため、パフォーマンスはそれほど重要ではありません.