画像サイズ追加のモジュール追加 (2007.01.13)
画像をページの中に入れる際にはタグIMGを使いますが、必ずエントリWIDTH、HEIGHTを入れるようにしています。
エントリWIDTH、HEIGHTを入れることによって、HTMLを読込んだ時点で画像のサイズは判明しレイアウトが確定しますから、
画像の読み込みが進むに従って、だんだんレイアウトが変わってしまうような恥ずかしい事は起きません。常識ですよね。
例えばこんな奴です。
<IMG SRC="sample.jpeg" WIDTH="123" HEIGHT="456" ALT="サンプルです">
ページを作る際にImageF/X(画像ソフト)で開いて画像サイズを確認する必要があり面倒です。そこで、タグIMGにエントリWIDTH、
HEIGHTがなかったらエントリSRCのファイルを読み込んで画像サイズを取得してWIDTH、HEIGHTを追加するモジュールを作りました。
結局、ページに画像を入れる際はタグIMGにエントリSRC、ALTを入れておけばOKになってしまいました。とっても楽です。
<IMG SRC="sample.jpeg" ALT="サンプルです">と、このようにタグを用意してppmodに処理させると
↓
<IMG SRC="sample.jpeg" WIDTH="123" HEIGHT="456" ALT="サンプルです">自動的にWIDTHとHEIGHTが追加されます。
ちなみにPerl本体には画像サイズを取得する関数はありません。けれども世の中には、ファイルから画像サイズを求めるPerl
パッケージをちゃんと開発してくださった方がいらっしゃいます。Googleで「ImageSize」と検索してみてください。
2007.01.13
ウチのページ見て「Googleで検索しても見つからない」って言う人が居るんだけども、
その人にとって「世の中」は日本限定らしい。世界を相手に検索すりゃ普通に見つかります。
Amigaユーザは世界を相手に英/独/伊/仏のページくらいは普通に見るから(でも何書いてあるかわからない)。
パッケージImageSizeをインストールしておくと、後はサブルーチンimgsizeにファイル名を渡すだけで、画像サイズを返します。
このImageSizeはUnixの絶対パス以外の指定をするとカレントディレクトリを前に追加しますので、Amigaの絶対パス、例えば
「abc_vol:def_dir/ghi_file.jpeg」を渡すと頭に「/」がないので相対パスと勘違いします。
Amiga(Geek Gadgets)にはUnixのパス指定「/abc_vol/def_dir/ghi_file.jpeg」でもアクセスできる様に互換用のツール
UnixDirs3がついて来るのでこういったトラブルを回避できます。