- PR -

Streamに出力した画像にクリッカブルマップを指定したい

1
投稿者投稿内容
焼きそば
ベテラン
会議室デビュー日: 2002/11/06
投稿数: 86
お住まい・勤務地: 東京
投稿日時: 2006-02-22 16:50
焼きそばです。

IE6
jdk1.4.2
Apache Tomcat4.1
で開発しております。

BufferedImageをHttpのレスポンスにOutputStreamで出力して
jsp内に表示しておりますが、その出力された画像に
クリッカブルマップを設定したいと考えております。
サーバーサイドでもクライアントサイドでも構わないのですが、
コード:
<MAP name="map_test">
<AREA shape="rect" coords="0,0,996,600" alt="test" href="http://www.atmarkit.co.jp">
</MAP>
<img src=<%@ include file="./common/viewImage.jsp" %> usemap="#map_test">


などと指定しても動作しません。
ContentTypeも"image/png"をやめ"text/html"にしていますが、
画像のみが表示され、IE上からソースの表示もできない状況です。

どなたか、似たような処理をされた方がいらっしゃれば
ご教示頂きたいと思います。

以上、よろしくお願いいたします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-22 17:19
<img src=、と来たら次には何がきますか?
そこはイメージのバイナリストリームではなくて、URLが来る場所です。
include して html 内に画像を展開することはできません。
まずは「クリッカブルマップを指定」ではなく「動的に生成した画像を表示」することから始めましょう。
焼きそば
ベテラン
会議室デビュー日: 2002/11/06
投稿数: 86
お住まい・勤務地: 東京
投稿日時: 2006-02-22 17:33
焼きそばです。

インギさん、ご返答ありがとうございます。

引用:

インギさんの書き込み (2006-02-22 17:19) より:
「動的に生成した画像を表示」することから始めましょう。



ここなんですが、当初は別JSPの一番最下部に
<%@ include file="./common/viewImage.jsp" %>
を画像出力のためだけに記述しておりました。
別JSPにはhtmlタグは一つも記述しておりませんでした。
また、このときにviewImage.jspに
setContentType("image/png")
を記述しておりました。

画像の表示はそれで上手くいったのですが、
それにクリッカブルマップを設定しようと思い、
手を加えたものが先ほど開示したものになっています。

そもそも<img>タグのsrc属性ではダメということですね。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-22 17:46
もう一度書きますが、 src= に続くのは画像のバイナリストリームではなく、画像のパスです。
まずは <img src=... といった表記で動的に生成した画像を表示するところから始めましょう。

その後のステップはこんな感じです。

1. 画像を表示する素のhtmlファイルと、画像を用意
2. 拡張子を html から jsp に変更して必要な page ディレクティブなどを追加
恐らくこの状態では src="" の部分には画像へのパスが記載されているかと思います。
3. src=.. に続くパスを ***.png から viewImage.jsp に変更
4. クリッカブルマップに必要な要素を追加

どうでしょう、できましたか?
焼きそば
ベテラン
会議室デビュー日: 2002/11/06
投稿数: 86
お住まい・勤務地: 東京
投稿日時: 2006-02-22 18:06
焼きそばです。

インギさん、度々ありがとうございます。

引用:

インギさんの書き込み (2006-02-22 17:46) より:

1. 画像を表示する素のhtmlファイルと、画像を用意
2. 拡張子を html から jsp に変更して必要な page ディレクティブなどを追加
恐らくこの状態では src="" の部分には画像へのパスが記載されているかと思います。
3. src=.. に続くパスを ***.png から viewImage.jsp に変更
4. クリッカブルマップに必要な要素を追加

どうでしょう、できましたか?



結論から言いますとできました。

取った手法は、もう一つ、大枠のJSPを作成し、
そこにクリッカブルマップなどのタグを記述。
その中の<img>タグのsrc属性をviewImage.jspをincludeしている
jspにしました。

これで実現できました。

ありがとうございました。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-22 18:16
うーん、JSPが三つできたということでしょうか?
viewImage.jsp を include している jsp って何のために必要なんでしょう?

正攻法で実現できたのかどうか判断できなかったのですが、どんなことをやるにもまず
・JSPやサーブレットではなく、素の html ではどのように実現するか
・html や画像のどれが jsp やサーブレットと置き換わるのか
といったことを意識して開発することをお勧めします。
今回の場合ですと viewImage.jsp が画像に相当するので、もう一つ必要なのは html に対応する jsp 一枚だけで済む筈です。

たぶん、同じ方向で勘違いしていたと思われる類似スレッドがありました。
参考になるかもしれません。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16138&forum=12

[ メッセージ編集済み 編集者: インギ 編集日時 2006-02-23 07:09 ]
焼きそば
ベテラン
会議室デビュー日: 2002/11/06
投稿数: 86
お住まい・勤務地: 東京
投稿日時: 2006-02-23 08:46
焼きそばです。

インギさん、どうもご丁寧にありがとうございます。

引用:

インギさんの書き込み (2006-02-22 18:16) より:
今回の場合ですと viewImage.jsp が画像に相当するので、もう一つ必要なのは html に対応する jsp 一枚だけで済む筈です。



今回はまだプログラムの精査まで行っていないので
報告させていただいた段階では3枚のjspになっています。
下2枚は1つにすることは可能でしょうが、今後の汎用性、
開発の方向性などを考慮した後、どうするか決めるつもりです。

以上、ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)