Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
#!/bin/sh
# h-bmp - Send BMP image file to Feel H"/Air H" handyphone system
# (C)2002, 2003 by HIROSE Yuuji [yuuji@gentei.org]
# $Id: h-bmp,v 1.8 2009/10/05 11:23:51 yuuji Exp $
# Last modified Sat Jan 15 03:40:55 2005 on firestorm
# Update Count: 72
#
# ★利用法
# h-bmp 画像ファイル 送信先……
#
# 「画像ファイル」を Treva 規格(なにゃそれ)に則ってBMPに直したものを指定
# したアドレスに送る。送信先はスペースで区切って複数書ける。
# 起動すると「1行メッセージ」を求めて来るのでなんか入れてリターンを押す。
#
# オプションは -t と -s と -m がある。くわしくはこのスクリプトを引数なし
# で起動すると出てくる。
#
# % h-bmp
#
# ★インストール
# nkf と convert(ImageMagick) と mewencode が必要。
# このスクリプトを h-jpg という名前にしてインストールするとデフォルトの
# 変換画像フォーマットがJPEGになる。
#
# % chmod +x h-bmp
# % ln -s h-bmp h-jpg
#
# ちなみに ImageMagick は ftp://ring.gr.jp/graphics/ImageMagick/ にある
# ImageMagick-バージョン.tar.bz2 を持って来てインストール、
# mewencode は ftp://ftp.mew.org/pub/Mew/ にある mew-バージョン.tar.gz
# を持って来てインストールする。
#
# ★用途
# ないよなあ。
# 最近多い「当社のこのWebページの画像をi-modeで表示すると半額です!」
# とかいうの、「貴様の会社はどこもの手下か!」と、むかつくのに反抗するた
# め? いえいえ、「好きな画像をまいらぶりーえっぢちゃんの壁紙にする」ため?
# いえいえ、単にえっぢ端末にBMPを送って表示できるか実験してみたらあっさ
# りできちゃったんで作ってみたくなっただけっす。ほなさいなら。
#
# ★こぴー&改造
# 御自由にどうぞ。する価値無いけど。はい。
revision=`expr "$Revision: 1.8 $" : '.*: \([0-9.]*\)'`
myname=`basename $0`
sz="128x96"
format="BMP"
angle='0'
case $0 in
*[jj][Pp][Gg]|*[Jj][Pp][Ee][Gg])
format=jpg ;;
*bmp|*BMP)
format=bmp ;;
*mid|*MID)
format=mid ;;
esac
while [ x"$1" != x"" ]; do
case "$1" in
-t) shift; recipients="$recipients $1" ;;
-s) shift; sz="$1" ;;
-m) shift; comment="$1" ;;
-[Rr][Ll])
sz=132x162 ;;
-[Rr][Mm])
sz=132x96 ;;
-[Rr][Ss])
sz=96x84 ;;
-[Ll][Ee]*)
sz=120x144 ;;
-[Aa][Hh]*)
sz=240x320 ;;
-j) format=jpg ;;
-q) shift; quality="-quality $1" ;;
-b) format=bmp ;;
-r) raw=1 ;;
-R) shift; angle="$1" ;;
*) break ;;
esac
shift
done
rotate="-rotate $angle"
if [ x"$1" = x"" ]; then
echo Usage: $myname [Options] 'ImageFile(s...)'
echo Options are...
cat <<_EOF_ | nkf
-t address Send mail to \`address'. Multiple -t available.
address さん宛に送る。-t は何個でも可。
-s XxY Resize image size to XxY
画像サイズを XxY にするのだ
-R # Rotate image #-degree in clock-wise
時計まわりに #度 画像を回転
-m 'Message' Set one-line comment to 'Message'
1行コメントを 'Message' にするのだ
-RL Equivalent to '-s 122x162'
-s 122x162 とおなじ(Sanyo RZ-J700 Large)
-RM Equivalent to '-s 96x72'
-s 76x72 とおなじ(Sanyo RZ-J700 Medium)
-LE Equivalent to '-s 120x144'
-s 120x144 とおなじ(Sanyo Leje; H-SA3001V Large)
-b Convert to BMP (h-bmp defaults to this)
BMPにする(h-bmpのデフォルト動作)
-j Convert to JPEG (h-jpg defaults to this)
JPEGにする(h-jpgのデフォルト動作)
-q QUALITY JPEGにする場合のquality(デフォルトは75)
-r Raw file. convertせずにそのまま送る。
Ex)
% $myname -s 96x72 -t yuuji@gentei.org hoge.jpg
-> Send $format-ized hoge.jpg to yuuji@gentei.org after resized to 96x72
yuuji@gentei.org に${format}化した hoge.jpg を96x72に直したのを送るのだ
% $myname -j -m '翔子写真だ' shoko.gif evidence.png
-> View jpg-converted image files with message encoded with base64 format.
shoko.gif, evidence.png を $sz にリサイズしてJPGに直してエンコードした
ものをページャで見る
% $myname -r -t yuuji@gentei.org hoge-*.mid
-> Send all *.mid files to yuuji@gentei.org encoded with base64 format.
Note that MIDI files should be sent without conversion(-r).
カレントディレクトリにある *.mid ファイルをbase64エンコードして送信する。
MIDIは画像変換しないので -r オプションが必要。
_EOF_
exit 0
fi
form () {
if [ x"$recipients" != x"" ]; then
for r in "$recipients"; do
echo To: "$r"
done
fi
cat <<_EOF_
Mime-Version: 1.0
Content-Type: Multipart/Mixed; Boundary="PmailDX00"
Content-Transfer-Encoding: 7bit
X-Mailer: h-bmp version $revision
--PmailDX00
Content-Type: Text/Plain;charset=iso-2022-jp
_EOF_
echo "$comment" | nkf
# Send images
i=1
for img in "$@"; do
base=`basename $img`
if [ "$raw" ]; then
fn=`date +%d%H%M-$i`-$base
else
fn=`date +%y%m%d%H%M-$i.$format`
fi
i=`expr $i + 1`
cat <<_EOF_
--PmailDX00
Content-Type: Application/Octet-stream; Name="$fn"
Content-Transfer-Encoding: Base64
_EOF_
if [ $raw ]; then
cat $img
else
convert $quality $rotate -geometry $width -crop $sz $img $format\:-
fi | mewencode
#echo ''
done
echo '--PmailDX00--'
}
width=`expr $sz : '\([0-9]*\)x'`
if [ x"$comment" = x"" ]; then
echo "1行メッセージを入力して下さい"|nkf
read comment
echo '送信中です...'
fi
if [ x"$recipients" = x"" ]; then
send="${PAGER:-less}"
else
send="sendmail -t"
fi
form "$@" | $send
# Local variables:
# fill-prefix: "# "
# End: