WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:ImageMagickの画像表示について

0:[投稿] TOMBO [2005/08/26 14:38 ][環境:IE6 WinXP Linux あとは不明]

初めまして。ImageMagickの画像表示について教えて下さい。

以下の様にImageMagickで画像に装飾をした後、ブラウザに
画像が直接表示されるのですが、これをHTMLタグを使いで
表示させることは可能でしょうか?

こんな形で表示させたいのです→<IMG scr="ここに画像">
#====================================================#
use Image::Magick;

print ("Content-type: image/jpeg\n\n");
binmode STDOUT;

my $image = Image::Magick->new;
$image->Read("1.jpg");
$image->Border( width=>10, height=>10, fill=>'red');
$image->Write("jpg:-");

print "\n\n";
undef $image;


# 上の場合、画像が直接ブラウザに表示されますが、
# 目指しているのは以下の様にHTMLタグで画像を表示させたいのです。

print "Content-type: text/html\n\n";
print <<"HTML";
<html><head>
<title></title></head>
<BODY>
<IMG scr="画像.jpg">
</body></html>
HTML
exit;
#====================================================#
色々と試しているのですが、中々上手くいきません。
ご存知の方はヒントだけでも構いませんのでお助け下さい。


1:[回答] sim [2005/08/26 17:31 ]

use Image::Magick;

print ("Content-type: image/jpeg\n\n");
binmode STDOUT;

my $image = Image::Magick->new;
$image->Read("1.jpg");
$image->Border( width=>10, height=>10, fill=>'red');
$image->Write("jpg:-");

print "\n\n";
undef $image;


このファイルをimage.cgiとするならば、
<img src="image.cgi">としてあげれば良いのではないでしょうか?

どうしても一つのファイルにしたいのであれば

#!/usr/bin/perl

if($ENV{'QUERY_STRING'} eq 'img'){
use Image::Magick;

print ("Content-type: image/jpeg\n\n");
binmode STDOUT;

my $image = Image::Magick->new;
$image->Read("1.jpg");
$image->Border( width=>10, height=>10, fill=>'red');
$image->Write("jpg:-");

print "\n\n";
undef $image;
}else{
print "Content-type: text/html\n\n";
print <<"HTML";
<html><head>
<title></title></head>
<BODY>
<IMG scr="image.cgi?img">
</body></html>
HTML
exit;
}

こんな感じでしょうか。


2:[回答] アカミミ [2005/08/26 17:36 ]

CGIの仕組みが良く理解できていないようですね。

>上の場合、画像が直接ブラウザに表示されますが、
表示「されます」ではなく、そのように指定しているからでは?

ちゃんと「画像データ」を返すCGIを、直接URLで指定して「画像」が表示されるのなら、<img src="〜">で呼び出してもちゃんと表示されるはずです。

>目指しているのは以下の様にHTMLタグで画像を表示させたいのです。
こんな表示用のCGIを使わずに静的なHTML(ローカルでも可)で構いません。


3:[回答] 通りがかり。 [2005/08/26 21:01 ]

なんか、拡張子.jpgでちゃんと表示させたいという要望にも見える。
だとすると、??????.jpgファイルをCGIによって吐き出して、処理が終
わった後、HTMLで表示させるとか。

その画像ファイルをいつ消すかは、別問題として…


4:[完了] TOMBO [2005/08/28 03:46 ]

通りがかり。さんの言うとおりの処理をさせたかったのですが、説明不足でした。すみません。

こちらの疑問は自力で解決できそうなのでもう少し自分の力で頑張ってみたいと思います。

どうもありがとう御座いました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World