Skip to content
MagickCmd › ImageMagick 边框、留白与投影

ImageMagick 边框、留白与投影

用 ImageMagick 加边框、补齐到精确画布尺寸、做带真实透明的圆角、加投影 —— 都是真正能跑通的命令。

添加边框

magick input.jpg -bordercolor white -border 20 output.jpg
magick input.jpg -bordercolor '#e5e7eb' -border 20x40 output.jpg

-border撑大画布:1000 像素的图加 20 像素边框后变成 1040 像素宽。如果最终尺寸必须还是 1000,请改用补齐。

补齐到精确画布尺寸

magick input.jpg -resize 1200x1200 -background white \
  -gravity center -extent 1200x1200 output.jpg

先把图装进框,剩余部分用背景色填满 —— 电商平台要求所有商品图尺寸一致时就该这么做。不会裁掉任何内容。把背景设成 none 并输出 PNG,就是用透明补边。

带真实透明的圆角

ImageMagick 没有 -round-corners 这种参数。做法是画出一个圆角,镜像出另外三个,四张相乘得到遮罩,最后拷进 alpha 通道:

magick input.png \
  '(' +clone -alpha extract \
      -draw 'fill black polygon 0,0 0,40 40,0 fill white circle 40,40 40,0' \
      '(' +clone -flip ')' -compose Multiply -composite \
      '(' +clone -flop ')' -compose Multiply -composite ')' \
  -alpha off -compose CopyOpacity -composite output.png

那四个 40 是圆角半径,要一起改。输出必须是 PNG 或 WebP。 写成 JPEG 的话圆角处会变成黑色,因为 JPEG 没有透明通道。

投影

magick input.png \
  '(' +clone -background black -shadow 60x12+0+8 ')' \
  +swap -background none -layers merge +repage output.png

-shadow 会把图片本身替换成它的影子,所以必须放在 ( +clone … ) 里执行 —— 然后用 +swap 把影子挪到原图后面,-layers merge 压平。

那四个数是 不透明度 x 模糊 + 横向偏移 + 纵向偏移。模糊值取偏移的 1.5 倍左右,影子看起来最自然,不会像贴上去的。

白底卡片式投影

magick input.png \
  '(' +clone -background black -shadow 50x14+0+10 ')' \
  +swap -background white -layers merge +repage \
  -bordercolor white -border 30 output.png

拍立得效果

magick input.jpg -bordercolor white -border 20 \
  -bordercolor grey60 -border 1 \
  -background none -rotate 4 \
  '(' +clone -shadow 60x4+4+4 ')' +swap \
  -background none -layers merge +repage output.png

ImageMagick 也内置了一个快捷方式:-polaroid 4


相关页面

Copied