- - PR -
Imageクラスをファイルに出力するには?
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-10-14 09:57
ImageクラスはApplet等で画面に出力可能ですが、そのイメージを画像ファイルとして出力する基本的な方法はございますでしょうか?
|
|
投稿日時: 2005-10-14 10:39
javax.imageio.ImageIO クラスはいかがでしょうか。
|
|
投稿日時: 2005-10-14 11:16
ご回答ありがとうございます。
「javax.imageio.ImageIOクラスを使用するのでは?」と調べていたのですが、ImageIOのメソッドで、Imageクラスをどこに引き渡すのか?またどのように変換していけば良いのか迷走中です。 ちなみに、環境は Windows XP Pro & Java Version 1.4.2_07 です。 [ メッセージ編集済み 編集者: NV 編集日時 2005-10-14 11:22 ] |
|
投稿日時: 2005-10-14 12:21
ヒントはBufferedImageクラスでしょう。
|
|
投稿日時: 2005-10-14 12:33
このような感じでBufferedImageを作成してますが、3行目でエラーが出てしまいます。
java.lang.IllegalArgumentException: stream == null! 1| Image img = createImage(src); 2| ImageInputStream inst = ImageIO.createImageInputStream(img); 3| BufferedImage buffImg = ImageIO.read(inst); 4| 5| boolean ret = ImageIO.write(buffImg, "bmp", new File("C:\\Test.bmp")); ImageクラスからStreamを作成しようとしておりますが、根本的に勘違いでしょうか? 要するに、ImageInputStreamが作れないという事とは思いますが…。 ※参照 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/imageio/ImageIO.html [ メッセージ編集済み 編集者: NV 編集日時 2005-10-14 12:43 ] |
|
投稿日時: 2005-10-14 13:40
NVさん、こんにちは。
BufferedImageに描画(drawImage)してください。 ImageIOではwriteしてください。 writeの引数にある RenderedImageの実装の1つが BufferedImageということです。 |
|
投稿日時: 2005-10-14 14:48
昔のスレッドに“ImageオブジェクトをBufferedImageオブジェクトに変換する”やり方
を見つけましたので参考にしてみてはいかがでしょうか。 画像減色処理について |
|
投稿日時: 2005-10-14 15:01
ご回答ありがとうございます。
>>BufferedImageに描画(drawImage)してください。 との事ですが、Graphicsオブジェクトを使用すると言うことでしょうか? 1| Image img = createImage(src); 2| BufferedImage bffImg = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_3BYTE_BGR); 3| Graphics offg = bffImg.createGraphics(); 4| offg.drawImage(image, 0, 0, null); ???? 6| boolean ret = ImageIO.write(buffImg, "bmp", new File("C:\\Test.bmp")); 理解不足で、何やら私違う方向に進んでいる気がするのですが…。すみません。 [ メッセージ編集済み 編集者: NV 編集日時 2005-10-14 15:20 ] |