com.sun.image.codec の置き換え
com.sun.image.codec は今後使えなくなるかもしれないので,ImageIO で置き換えた方がいいらしい。
警告:com.sun.image.codec.jpeg.JPEGCodec は Sun が所有する API であり、今後のリリースで削除される可能性があります。
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(writer);
client/KarteEditor.java
/**
* Courtesy of Junzo SATO
* ImageIO by pns
*/
private byte[] getJPEGByte(Image image) {
byte[] ret = null;
// BufferedOutputStream writer = null;
try {
JPanel myPanel = getUI();
Dimension d = new Dimension(image.getWidth(myPanel), image.getHeight(myPanel));
BufferedImage bf = new BufferedImage(d.width, d.height, BufferedImage.TYPE_INT_RGB);
Graphics g = bf.getGraphics();
g.setColor(Color.white);
g.drawImage(image, 0, 0, d.width, d.height, myPanel);
ByteArrayOutputStream bo = new ByteArrayOutputStream();
// writer = new BufferedOutputStream(bo);
// JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(writer);
// encoder.encode(bf);
ImageIO.write(bf, "jpeg", bo);
// writer.flush();
// writer.close();
ret = bo.toByteArray();
} catch (IOException e) {
e.printStackTrace();
// if (writer != null) {
// try {
// writer.close();
// } catch (IOException e2) {
// System.out.println("KarteEditor.java: "+ e2);
// }
// }
}
return ret;
}
"jpeg" を "png" に変えると,png 形式で保存されるようになる。保存した画像の読み出しは byte[] を ImageIcon に入れているだけなので(DocumentDelegater#getDocuments 参照),java 側で jpeg か png か判断してくれる。
« ORCL0030CheckServer | トップページ | 最近3ヶ月の来院歴表示 »
「OpenDolphin」カテゴリの記事
- OpenDolphin: Java 25 / WildFly 38 への移行(2025.11.09)
- 運用17年目のまとめ(2025.02.03)
- IME on/off の切換 - その2(2024.12.02)
- OrcaController オルコン(2024.11.28)
- OpenDolphin: java 21 / wildfly 34 への移行(2024.11.08)


