Imagemagick 将阴影投射到图片的每一面

Imagemagick 将阴影投射到图片的每一面,imagemagick,image-editing,Imagemagick,Image Editing,我尝试使用imagemagick模拟上方光斑,使用以下代码向png图片的每一侧添加阴影: #!/usr/bin/env sh imageshadow() { out=${1%.*}-shadow.${1#*.} in=$1 if [ ! -z $2 ]; then convert $in -frame $2 $out in=$out fi convert $in -bordercolor "#eee8d5" -border 4 \ \( -clo

我尝试使用imagemagick模拟上方光斑,使用以下代码向png图片的每一侧添加阴影:

#!/usr/bin/env sh

imageshadow()
{
  out=${1%.*}-shadow.${1#*.}
  in=$1

  if [ ! -z $2 ]; then
    convert $in -frame $2 $out
    in=$out
  fi

  convert $in -bordercolor "#eee8d5" -border 4 \
    \( -clone 0 -background black -shadow 40x3+3+3 \) \
    \( -clone 0 -background black -shadow 40x3-3-3 \) \
    -reverse -background none -layers merge +repage $out
}

imageshadow $1
我得到了想要的阴影,但在图片的右上角和左下角有一个中断,我无法摆脱它们


您使用的是什么版本?您的脚本在IM 6.9.2-3中运行良好,在东北角和西南角没有任何可见的中断。6.8.6-10。这更像是一个一致性问题,下面是一个示例: