[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mgp-users-jp 00690] Netscape 上でのサムネイル表示



はじめて投稿します,中島@東工大と申します.
MagicPoint 愛用しています.

さて,教授の先生に「このソフト(MagicPoint)だと,
PowerPoint みたいなサムネイル表示はできないのかね」と言
われて,「はい,できません」と答えるのが悔しくて,
Netscape 上でサムネイル表示ができるようにする shell
script を作ってみました.
学会発表や卒論発表などの質疑応答の時間には,結構便利だと
思います.

おそらく同様のことをなさっている方々もおられると思います
が,ML の検索をかけてもひっかからなかったので,投稿して
みることにしました.

しかけとしては,MagicPoint を1ページずつ起動し,それを
xwd でキャプチャーし,それを小さな jpeg 画像群に変換して,
それらを並べた HTML ファイルを吐くという一連の作業を一発
でやります.画面のキャプチャーに時間がかかりますが,まあ
その間他の事でもしていてください,ということで(^^)

使い方を以下に示します.

1. 添付の二つの shell script (makemgpt と mgpt) をパスの
   通った適当な場所にコピーして chmod 755 する.

2. mgp ファイルのあるディレクトリ上で makemgpt を起動する.

   (例) makemgpt foo.mgp 1 12 5 15%

   ここで mgp file の後の数字は以下の意味です.
   1   : 開始ページ
   12  : 終了ページ
   5   : 画面のキャプチャー時に,mgp を起動してから xwd を
         呼ぶまでの時間(秒).遅いマシンでは大きめにしない
         と,mgp が起動しきらないうちに xwd が始まってしまう.
   15% : サムネイル画像の大きさ

   画面のキャプチャーが終わってしばらくすると,
   foo.mgp.html ができていると思います.また,各ページ番
   号に対応した *.jpg と *.mgpt というファイルもできます.

3. Netscape の設定の変更.
   設定→Navigator→アプリケーション を選択して,
   新規に,拡張子が mgpt ,アプリケーションが mgpt %s と
   いう項目を作ってください.

4. Netscape で foo.mgp.html を読み込む.
   画像の縦並びが揃うように Netscape の横幅を調整してく
   ださい.100ページを超えるとまた縦並びが崩れるかもしれ
   ませんが,まあ100ページを超えることはそうないですよね(^^)
   あとは,サムネイル画像をクリックするとそのペー
   ジから MagicPoint が起動します.

少し気になっているのは,mgpt というスクリプトで,これは
見てもわかるように,そのまま引数を実行しているだけです.
これなら,3.のNetscape のアプリケーション設定を sh %s にすれ
ばいいじゃないかと思われるかもしれますが,それだと
Netscape 上で警告が出て来ます.mgpt をかぶせてやるだけで
回避できてしまうというのもなんだかなあと思いますが,もっ
とスマートな方法があればどなたか教えてください.
いずれにしろ,セキュリティ的にはあんまりよろしくないので,
この設定にするのは使う時だけにした方が良いかもしれません.

あと,xwd がかったるかったら,mgp2ps とかを使うんでしょ
うか.私は,全くそのままのイメージが得られるので,いつも
プリントアウトするときにも xwd したものを ps に変換して
出力しています.

-- 
 中島 求                Motomu Nakashima
 東京工業大学 機械科学科 Dept. of Mechanical Engineering & Science
 運動制御学講座          Tokyo Institute of Technology

---- makemgpt の始まり ---------------------------------------------
#!/bin/sh
#
#  Makemgpt:  makes a HTML file of thumnails of MagicPoint
#
#  usage:  mgptmake [mgpfile] [startpage] [endpage] [sleep time] 
#                                          \ [size of thumbnail]

rm -f $1.html

echo "<html><head><title>Thumbnails of $1</title></head>" >> $1.html
echo '<body>' >> $1.html

num=$2
while (test $num -le $3) 
do
    # Capture each page
    mgp -p $num $1 &
    sleep $4
    xwd -root > mgpcap_tmp.xwd
    convert -geometry $5 mgpcap_tmp.xwd $num.jpg
    killall -9 mgp
    rm -f mgpcap_tmp.xwd

    # Make mgpt file
    dir=`pwd`
    echo "mgp -O -p $num $dir/$1" > $num.mgpt

    # Add each page to HTML file
    echo "<a href=$num.mgpt>" >> $1.html

    if (test $num -le 9)
        then echo "0$num" >> $1.html
        else echo "$num" >> $1.html
    fi

    echo "<img src=$num.jpg align=middle vspace=10>" >> $1.html
    echo '</a>' >> $1.html
    echo ' ' >> $1.html
    echo '' >> $1.html

    num=`expr $num + 1`
done

echo '</body>' >> $1.html
echo '</html>' >> $1.html
---- makemgpt の終わり -----------------------------------------

---- mgpt の始まり ---------------------------------------------
#!/bin/sh
`cat $1`
---- mgpt の終わり ---------------------------------------------