YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-04-08 (月)


[一語一絵/IT系]

画像リサイズスクリプト / 2007-06-18 (月)

週末の名古屋遠征ではメール投稿に見事失敗。原因は画像をリサイズする為に使っているツール[External]ImageMagickインストール漏れだとすぐにわかったが、遠隔からのインストールはリスキーなので帰ってから作業。

[External]ImageMagickのインストール自体は簡単に終ったものの、期待したようにリサイズされない問題発生。解析したところ、先のW-ZERO3[es]の再インストールで添付画像の解像度が変わってしまったのに気がついた。火急に縦横両方の画像に対応するため、やむなくある程度ピクセル数を意識してスクリプトをコーディングしていたので、解像度が変わってそのパターンに入らなかったのが敗因だ。

と言うわけで、1日掛けてリサイズshellスクリプトを清く正しく美しく全面改定。これでどんなサイズでも横長なら幅240px、縦長なら幅180pxに変換される(はず)だ。

#!/bin/sh

CVTPROG=/usr/bin/convert;
IDENTIFY=/usr/bin/identify;

#TMPFILE=`/bin/mktemp image.XXXXXX`
#trap 'rm -f $TMPFILE' 0 1 2 3 5 9 15

# attached filename (input)
attached_file=$1

# converted image filename (output)
output_file=$2

$IDENTIFY $attached_file | sed -e 's/[x+]/ /g' |     \
        awk '   $4 <= $3 {                              \
                        if (240 < $3) exit 240;         \
                        exit 0;                         \
                }                                       \
                $3 < $4 {                               \
                        if (180 < $3) exit 180;         \
                        exit 0;                         \
                }                                       \
        '

image_width=$?
if [ $image_width -eq 0 ];
then
  mv $attached_file $output_file;
  exit;
fi

$CVTPROG -geometry $image_width $attached_file $output_file

【参照】
●ImageMagick: Convert, Edit, and Compose Images http://www.imagemagick.org/