使用 ImageMagick 在多个图像上使用 'distort perspective' 的奇怪效果

Strange effect using 'distort perspective' on multiple images using ImageMagick

我想在图像上创建 3D 效果,使其看起来像一个文件夹,使用 ImageMagick 中的 +distort Perspective' 命令。

但是,如果我在 ImageMagick 中多次(在不同的层上)使用扭曲,结果看起来不正确。

请看附图,左边是正确的,但是右边的右上角看起来很奇怪。

我使用了以下命令:

convert square.jpg -brightness-contrast 0x0 -resize 700x700 \
            \( -clone 0 -flip -crop 700x140+0-0 -size 700x140 gradient:gray60-black -compose CopyOpacity -composite \) \
            -append front.png

convert square.jpg -brightness-contrast -50x0 -resize 700x700 \
\( -clone 0 -flip -crop 700x140+0-0 -size 700x140 gradient:gray60-black -compose CopyOpacity -composite \) \
-append inner.png

convert -background None -virtual-pixel transparent -background white  \
            \( inner.png +distort Perspective '0,0 0,0  700,0 735,-35  700,700 735,665  0,700 0,700' \) \
            \( front.png +distort Perspective '0,0 0,0  700,0 665,35  700,700 665,735  0,700 0,700' \) \
            -layers merge +repage 3dimage.jpg

我正在使用 ImageMagick v6.8

我不确定我是否正确理解了 ImageMagick 中的图层。 有人能看出哪里出了问题吗?谢谢!

I'm not sure if I understand the layers in ImageMagick correctly. Can someone see what's wrong?

你很好。只需要在 front.png 的子图像上重复 -virtual-pixel transparent(也许还有 inner.png).

convert -background None -virtual-pixel transparent -background white  \
        \( inner.png +distort Perspective '0,0 0,0  700,0 735,-35  700,700 735,665  0,700 0,700' \) \
        \( front.png -virtual-pixel transparent +distort Perspective '0,0 0,0  700,0 665,35  700,700 665,735  0,700 0,700' \) \
        -layers merge +repage 3dimage.jpg