• ベストアンサー

JAVAアプレットで画像保存

JAVAアプレットで写真画像を呼び出して、その写真上にdrawOvalなどで円を描いて その加工した写真をJPEGで保存したいのですが保存方法がわかりません。 JPEGImageEncoder等も参照しましたが、いまいちよく解りません。 出来ればサンプルプログラムなどあればうれしいのですがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nta
  • ベストアンサー率78% (1525/1942)
回答No.3

かならずしもCGIでなくても構いませんが、ブラウザで実行するのであればHTTPプロトコルで80ポートを経由して通信するのが無難な選択肢であるためCGIかサーブレットに落ち着くことでしょう。サンプルまではすぐには見つかりませんが、以下のURLにPerl-CGIはあるようです。 http://www.gt.sakura.ne.jp/~ocosama/ Java Appletからの通信方法ですがURLConnectionクラスを使うとPOSTメソッドが直接利用できるのでデータの転送が便利でしょう。 http://www.ie.u-ryukyu.ac.jp/java/ja/api/java.net.URLConnection.html 一方servletで受ける場合はこんな感じでしょう。 http://webcse.pit-nagano.ac.jp/people/staff/koyama/lesson/ServerSideJava/ServerSideJava-13.html

kicyune
質問者

お礼

大変参考になりました。 もし、他に良いサンプルなどがありましたら情報提供お願いします。

その他の回答 (2)

  • nta
  • ベストアンサー率78% (1525/1942)
回答No.2

お絵かき掲示板では (1)クライアントで動作するJava Applet (2)サーバで動作するCGI が連携動作するしくみになっています。Appletで作成されたデータは通信によりサーバに送られて画像ファイルに変換されす。この画像ファイルが掲示板上(CGI出力)でHTMLにリンクされてクライアントに表示されるしくみになっています。この流れの中で「ローカルにファイルを保存する」必要はありません。  Appletのローカルファイルに対するセキュリティを解除する方法はありますが、あなたのアプレットを使用する人がみんなこの解除を行うのは好ましくないと思います。一応URLをあげておきます。

参考URL:
http://www.dmz.hitachi-sk.co.jp/Java/Tech/security/12security-sample.html
kicyune
質問者

補足

私もローカルへの保存は考えていません。サーバー上の画像ファイルを加工して それをまたサーバーへ上書き保存するような仕組みです。 やはりその為にはアプレットとCGIでの連携が必要なのですか・・・ ところでこのあたりのサンプルプログラムなんてありませんか? 何度も聞いてしまって本当に申し訳ありません。 よろしくお願いします。

  • nta
  • ベストアンサー率78% (1525/1942)
回答No.1

ファイルに関連づけられた出力ストリームOutputStreamを作成し、その出力ストリームにJPEGImageEncoderを接続します。最後にencodeメソッドで書き出すとファイルが作成されます。 ただ、Java Appletではセキュリティの関係でローカルファイルへの書き出しはできません。Java Applicationで作成して下さい。

参考URL:
http://www.sol.dti.ne.jp/~yoshinor/japplication/japp1007.html
kicyune
質問者

補足

>ただ、Java Appletではセキュリティの関係でローカルファイルへの書き出しはできません。 では、お絵かきBBSのようなものはどうしてアプレットでJEPGやPNGで画像が保存できているのでしょうか? 参考URL http://www.oekakibbs.com/bbs/poo_themefan/oekakibbs.cgi 上記サイトの中の【お絵かき】ボタンを押してみてください。

関連するQ&A