(ruby)(RMagick)(ImageMagick)(既存の画像を ギザギザに縁取りし(シャドウ付き、ロール済みの)壁紙素材にするスクリプトを考えてみた)

 おそらく もっと良い方法は 山ほどありそうだけど
現在の私の力では これが限界 笑)

影の具合などは
img_shadow = imglst.flatten_images.blur_channel(8, 5, Magick::AllChannels)
blur_channelのパラメーターや
imglst[0] = imglst[0].composite(img_shadow.border(10, 10, 'white'), 0, 0, Magick::BumpmapCompositeOp)
の borderのパラメーターを 微調整してください
require 'RMagick'

# イメージのロード
img = Magick::Image.read('<読み込む画像ファイル名>')[0]
img.alpha = Magick::ActivateAlphaChannel

# マスク(ギサギサの四角形)を作成
img_mask = Magick::Image.new(img.columns, img.rows){self.background_color = 'none'}
Magick::Draw.new{
  self.fill = 'white'
}.rectangle(10, 10, img_mask.columns-10, img_mask.rows-10).draw(img_mask)
img_mask = img_mask.spread(5).median_filter(3)

# イメージを マスクに沿って切り抜く
img = img.composite(img_mask, 0, 0, Magick::DstInCompositeOp)

# シャドウを生成する
imglst = Magick::ImageList.new()
imglst[0] = Magick::Image.new(img.columns, img.rows){self.background_color = 'white'}
imglst[1] = Magick::Image.new(img.columns, img.rows){self.background_color = '#303030'}
imglst[1].alpha = Magick::ActivateAlphaChannel
imglst[1] = imglst[1].composite(img_mask, 0, 0, Magick::DstInCompositeOp)
img_shadow = imglst.flatten_images.blur_channel(8, 5, Magick::AllChannels)

# 白の背景を作る
imglst[0] = Magick::Image.new(img.columns+10, img.rows+10){self.background_color = 'white'}
# 白の背景に 影を落とす
imglst[0] = imglst[0].composite(img_shadow.border(10, 10, 'white'), 0, 0, Magick::BumpmapCompositeOp)
# 先ほど切り抜いておいた画像を貼り付け
imglst[1] = img
# レイヤーを統合して ロールして ファイルに書き出す
imglst.flatten_images.roll(100, 80).write('<書き出す画像ファイル名>')

exit(0)

元画像

ソースは 「素材クラブ」さんのを利用させてもらいました → http://www.sozai-club.com/

変換後(ソースよりも縦横10px大きくなっています)