- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像フォーマット変換 JPEG -> PNG)
画像フォーマット変換:JPEGからPNG
このQ&Aのポイント
- JavaのWebアプリでExcelファイルに貼り付けるために、JPEG形式の画像をPNG形式に変換する方法がわかりません。
- JExcelを使ってExcelワークブックを生成する際、貼り付け可能な画像はPNG形式だけであり、JPEG形式の画像を使うためには変換が必要です。
- 現在はJPEG形式の画像をJVMに取り込んでPNG形式に変換することはできていますが、JVM内で直接JPEGからPNGに変換する方法が分かりません。質問文中にヒントや情報があれば教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 >PNG形式の画像ファイルを吐き出す >という処理なら出来ているのですが、 ここまでできているのなら、ただ単に出力先を FileOutputStream から ByteArrayOutputStream に変えてやれば、いいだけなんじゃないでしょうか。 そのあと、ByteArrayOutputStream の toByteArray()メソッドを呼べば、バイト配列が得られますよ。
お礼
ありがとうございました! できました。!!! BufferedImage readImage = ImageIO.read(new File("test.jpg")); boolean result = ImageIO.write(readImage, "png", new File("test.png")); というコードを書いていました。それを byte[] jpegData = null; byte[] pngData = null; ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(jpegData); readImage = ImageIO.read(byteArrayInputStream); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); result = ImageIO.write(readImage, "png", byteArrayOutputStream); pngData = byteArrayOutputStream.toByteArray(); byteArrayOutputStream.close(); と書き換えることで実現できました。 できれば上のコードで何か指摘していただければ更に助かるのですが。