前回の質問では丁寧に答えてくださり、ありがとうございました。
今回はjava+mysql+tomcatで作る掲示板とブログ blog/H ImageConv でのエラーです。
ImageConvをパスを確認してから実行したところ
ImageConv.java:61: エラー: パッケージcom.sun.image.codec.jpegは存在しません
com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(baos).encode(bi2);
というエラーが発生しました。
ImageConv61行目の
com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(baos).encode(bi2);
この行に問題があるらしく、行を除外したら実行はできたのですが、やはり画像の表示はされませんでした。
このエラーコードを用いて自分で調べたところ
http://www.javainthebox.net/laboratory/JDK1.4/Graphics/ImageIO/ImageIO.html
こちらのサイトで
com.sun.image.codec.jpeg パッケージは com.sun のパッケージなのでいつ消えてなくなるか分かりません (J2SE v1.4.1 ではまだあるようです。)
とあったので、恐らく今は使えなくなってしまったのだと思いました。
私の方でも解決策を調べ、試してみたいと思いますが
エラーが出た行の動作を行うことができる、違う方法に心当たりがありましたら、教えていただけると嬉しいです。
今回はjava+mysql+tomcatで作る掲示板とブログ blog/H ImageConv でのエラーです。
ImageConvをパスを確認してから実行したところ
ImageConv.java:61: エラー: パッケージcom.sun.image.codec.jpegは存在しません
com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(baos).encode(bi2);
というエラーが発生しました。
ImageConv61行目の
com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(baos).encode(bi2);
この行に問題があるらしく、行を除外したら実行はできたのですが、やはり画像の表示はされませんでした。
このエラーコードを用いて自分で調べたところ
http://www.javainthebox.net/laboratory/JDK1.4/Graphics/ImageIO/ImageIO.html
こちらのサイトで
com.sun.image.codec.jpeg パッケージは com.sun のパッケージなのでいつ消えてなくなるか分かりません (J2SE v1.4.1 ではまだあるようです。)
とあったので、恐らく今は使えなくなってしまったのだと思いました。
私の方でも解決策を調べ、試してみたいと思いますが
エラーが出た行の動作を行うことができる、違う方法に心当たりがありましたら、教えていただけると嬉しいです。
投稿:sei[sei]/2012年 07月 13日 15時 54分
/更新:2012年 07月 13日 15時 54分
RE:java+mysql+tomcatで作る掲示板とブログ blog/H ImageConv でのエラー
by 竹形 誠司[takegata]
返事が遅くなりすみません。
Javaのバージョンのいくつで変わったのか正確には覚えていませんが、
今のシステムでは以下のようなクラスを使って同様のことができると思います。
java.awt.image.BufferedImage
java.awt.Graphics2D
javax.imageio.ImageIO
時間があれば、サンプルコードなども載せたいと思います。
Javaのバージョンのいくつで変わったのか正確には覚えていませんが、
今のシステムでは以下のようなクラスを使って同様のことができると思います。
java.awt.image.BufferedImage
java.awt.Graphics2D
javax.imageio.ImageIO
時間があれば、サンプルコードなども載せたいと思います。
投稿:竹形 誠司[takegata]/2012年 07月 19日 04時 37分
/更新:2012年 07月 19日 04時 37分
お返事遅くなりました。
ありがとうございます。現在大学のテスト期間で、8月になったらシステム作成を再開するので教えて頂いた方法を調べ、試したいと思います。
はい。もしお時間に余裕がありましたらコードなども乗せて頂けたら嬉しいです。
ありがとうございます。現在大学のテスト期間で、8月になったらシステム作成を再開するので教えて頂いた方法を調べ、試したいと思います。
はい。もしお時間に余裕がありましたらコードなども乗せて頂けたら嬉しいです。
投稿:sei[sei]/2012年 07月 23日 21時 30分
/更新:2012年 07月 23日 21時 30分
初めて書き込みさせていただきます。
よろしくお願いします。
だいぶ古いトピックですが、
自分なりに書き換えて実行できたコードを記載します。
ImageConv.java の最後を抜粋
=========
・・ここまで省略・・
// 縮小版イメージ作成
BufferedImage bi2=new BufferedImage(intScaledWidth, intScaledHeight,
BufferedImage.TYPE_INT_BGR);
Graphics2D g2=bi2.createGraphics();
g2.drawImage(bi, 0, 0, intScaledWidth, intScaledHeight, null);
// 引渡し用出力ストリーム作成
ServletOutputStream output=response.getOutputStream();
ImageOutputStream ios=ImageIO.createImageOutputStream(output);
String suffix=getImageSuffix(strImageFile);
ImageIO.write(bi2, suffix, ios); // 縮小画像を送り返す
ios.close();
}
private String getImageSuffix(String fileName) {
if(fileName == null) return("jpeg"); // 取得不可ならJPEG とみなす
int position = fileName.lastIndexOf(".")+1;
if(0 < position) {
return(fileName.substring(position));
}
return("jpeg");
}
}
よろしくお願いします。
だいぶ古いトピックですが、
自分なりに書き換えて実行できたコードを記載します。
ImageConv.java の最後を抜粋
=========
・・ここまで省略・・
// 縮小版イメージ作成
BufferedImage bi2=new BufferedImage(intScaledWidth, intScaledHeight,
BufferedImage.TYPE_INT_BGR);
Graphics2D g2=bi2.createGraphics();
g2.drawImage(bi, 0, 0, intScaledWidth, intScaledHeight, null);
// 引渡し用出力ストリーム作成
ServletOutputStream output=response.getOutputStream();
ImageOutputStream ios=ImageIO.createImageOutputStream(output);
String suffix=getImageSuffix(strImageFile);
ImageIO.write(bi2, suffix, ios); // 縮小画像を送り返す
ios.close();
}
private String getImageSuffix(String fileName) {
if(fileName == null) return("jpeg"); // 取得不可ならJPEG とみなす
int position = fileName.lastIndexOf(".")+1;
if(0 < position) {
return(fileName.substring(position));
}
return("jpeg");
}
}
投稿:toshisan[toshisan]/2018年 08月 05日 11時 36分
/更新:2018年 08月 05日 11時 39分