gooサービスにログインしづらい事象について

下記の様に、単一の画像ファイル「a.jpg」を呼び出して、
HTMLのBODY内に表示するCGIが在るのですが、
これを、特定のファイルに入っている複数の画像を、
HTML側で指定して呼び出し、表示させる事は可能でしょうか。
また、その際に、大きさの不均一な画像を指定した
縦横サイズ以内に、元の縦横比率を保ったまま表示させる事は可能でしょうか。
その方法などご教授頂ければ幸いです。
宜しく、お願いします。

#!/usr/bin/perl
$view = 'a.jpg';
print "Content-type: image/jpeg\n\n";
open IMGG,"$view";
binmode (IMGG);
print <IMGG>;
close (IMGG);
exit;

<body>
<IMG src="print.cgi" border="0">
</body>

A 回答 (2件)

HTMLはともかく、CGIとしてはもちろん可能です。


その場合、通常は
#!/usr/local/bin/perl
use strict;
use warnings;
my $fileName = $ENV{'PATH_INFO'};
my $view = './images'.$fileName;
my $extention;
if( $fileName =~/.+\.(\w+)/){$extention = $1;}
print "Content-type: image/$extention\n\n";
open IMG,"$view";
binmode IMG;
binmode STDOUT;
while(<IMG>){
print;
}
close IMG;
__END__

かな。CGIのあるディレクトリにある/imagesフォルダー内のファイルを開きます。拡張子は何でもよい。
 アクセスはこのCGI名がimage.cgiだとすると、
<IMG src="image.cgi/abc.jpg" border="0">
 となります。

★サイズを調整するなら、サーバーにperlMagick、imageMagickが必要です。これがあると、imageMagickはPhotoShop程度の機能を持つ画像処理ソフトですから、ファイル形式を変換したりサイズを調整したり、色を変えたり画像を回転させたり、枠をつけたり、複数の画像を連結したりと様々な処理ができます。

【参考サイト】
ImageMagick - FSWikiLite
  http://tuka.s12.xrea.com/index.xcg?p=ImageMagick …
ImageMagick
  http://mechanics.civil.tohoku.ac.jp/soft/node43. …
Imagemagickの使い方
  http://vision.kuee.kyoto-u.ac.jp/~nob/doc/imagem …
48. ImageMagickで簡単に画像処理 - PHP TIPS:ITpro
  http://itpro.nikkeibp.co.jp/article/COLUMN/20070 …

使用例)
Lacoocan用アクセスカウンター(LaCounter.cgi):マニュアル ( http://iruka.la.coocan.jp/cgi/counter/LaCounter. … )

この回答への補足

ORUKA1951様

早速のご返答、有難うございます。
示して頂いた資料は、実行しようとしている内容を、
カバーしているものと思われます。
まずは、一通り読んで研究してみたいと思います。
有難うございました。

補足日時:2010/05/17 18:34
    • good
    • 0

CGIで処理する必要があるのか良くわからないのですが、a.jpg以外の画像を表示できるか?という質問なら可能です。


画像毎にCGIを作っても良いし、1つのCGIで切り換えても良いでしょう。ただし、切換のためには、CGIをかなり改良しなければいけません。

画像サイズを固定するには<IMG>タグの中で幅と高さを指定します。
横幅200、高さ150ならこうなります。
<IMG src="print.cgi" border="0" width="200" height="150">
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報