画像の影と丸角処理

  • 投稿日:
  • by

ゲーム中のスクリーンショットをバリバリ使っている。
しかし、ただ切り貼りするだけでは、ただでさえ地味なページがもっと悲しいので、画像処理で影と四隅を丸くするようにしている。


画像のカットには、MacOSX付属のPreview。画像処理にはRoundRect-Xを使用していた。
大変良いソフトなのでレジストもしている。
しかし、スクリーンショットが増えてくると、時間がかかったり、固まったり、ちょっと面倒。
やっぱ、GUIじゃなくてコマンドがいいなぁということで、ImageMagickで代替え機能を作成してみる。

#!/bin/sh

for i in `/bin/ls *.jpg` do FILE=$i GEOM=`identify $FILE | awk ''{print $3}''` WIDTH=`echo $GEOM| awk -Fx ''{print $1}''` HEIGHT=`echo $GEOM| awk -Fx ''{print $2}''`
C_WIDTH=`expr $WIDTH + 5` C_HEIGHT=`expr $HEIGHT + 5` R_WIDTH=`expr $WIDTH - 5` R_HEIGHT=`expr $HEIGHT - 5`
convert -size ${C_WIDTH}x${C_HEIGHT} -draw "roundRectangle 0,0,${R_WIDTH},${R_HEIGHT},13,13" -roll +5+5 -blur 5,5 tile:white.ppm bokashi.jpg convert -size ${WIDTH}x${HEIGHT} -fill "#FFFFFF" -draw "roundRectangle 0,0,${WIDTH},${HEIGHT},13,13" tile:black.ppm r_mask.jpg composite -compose plus r_mask.jpg bokashi.jpg masked_bokashi.jpg convert -size ${WIDTH}x${HEIGHT} -draw "roundRectangle 0,0,${WIDTH},${HEIGHT},13,13" tile:white.ppm mask.jpg composite -compose plus $FILE mask.jpg masked.jpg composite -compose Multiply masked.jpg masked_bokashi.jpg thumbnails/$FILE done rm -f r_mask.jpg bokashi.jpg masked_bokashi.jpg mask.jpg masked.jpg

white.ppmとblack.ppmは、1pixelの点である。あらかじめ、netpbmかなんかで作成しておく。

% ppmmake black 1 1 > black.ppm
% ppmmake white 1 1 > white.ppm

なんかまどろっこしいけど、いちおうちゃんと動くでOK。