• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像フォーマット変換 JPEG -> PNG)

画像フォーマット変換:JPEGからPNG

このQ&Aのポイント
  • JavaのWebアプリでExcelファイルに貼り付けるために、JPEG形式の画像をPNG形式に変換する方法がわかりません。
  • JExcelを使ってExcelワークブックを生成する際、貼り付け可能な画像はPNG形式だけであり、JPEG形式の画像を使うためには変換が必要です。
  • 現在はJPEG形式の画像をJVMに取り込んでPNG形式に変換することはできていますが、JVM内で直接JPEGからPNGに変換する方法が分かりません。質問文中にヒントや情報があれば教えてください。

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

  • ベストアンサー
  • PecoPlus
  • ベストアンサー率76% (144/188)
回答No.1

 こんばんは。 >PNG形式の画像ファイルを吐き出す >という処理なら出来ているのですが、  ここまでできているのなら、ただ単に出力先を FileOutputStream から ByteArrayOutputStream に変えてやれば、いいだけなんじゃないでしょうか。  そのあと、ByteArrayOutputStream の toByteArray()メソッドを呼べば、バイト配列が得られますよ。

courks
質問者

お礼

ありがとうございました! できました。!!! 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(); と書き換えることで実現できました。 できれば上のコードで何か指摘していただければ更に助かるのですが。

関連するQ&A