您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java怎么實現bmp和jpeg圖片格式互轉”,在日常操作中,相信很多人在Java怎么實現bmp和jpeg圖片格式互轉問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java怎么實現bmp和jpeg圖片格式互轉”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
public static String bmp2Jpeg(String filePath, String outPath) { try { long start = System.currentTimeMillis(); // 加載bmp圖片 File file = new File(filePath); Image img = ImageIO.read(file); BufferedImage tag = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(img.getScaledInstance(img.getWidth(null), img.getHeight(null), Image.SCALE_SMOOTH), 0, 0, null); // 輸出為Jpeg FileOutputStream out = new FileOutputStream(outPath); // JPEGImageEncoder可適用于其他圖片類型的轉換 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(tag); out.close(); log.info("bmp 轉 JPEG,共耗時: " + (System.currentTimeMillis() - start) + " 毫秒"); return outPath; } catch (IOException e) { e.printStackTrace(); } return outPath; }
public static void jpeg2Bmp(String inputPath, String outputPath) { try { long start = System.currentTimeMillis(); // 加載Jpeg圖片資源 FileImageInputStream fiis = new FileImageInputStream(new File(inputPath)); FileImageOutputStream fios = new FileImageOutputStream(new File(outputPath)); ImageReader jpegReader = null; Iterator<ImageReader> it1 = ImageIO.getImageReadersByFormatName("jpeg"); if (it1.hasNext()) { jpegReader = it1.next(); } jpegReader.setInput(fiis); ImageWriter bmpWriter = null; Iterator<ImageWriter> it2 = ImageIO.getImageWritersByFormatName("bmp"); if (it2.hasNext()) { bmpWriter = it2.next(); } bmpWriter.setOutput(fios); BufferedImage br = jpegReader.read(0); bmpWriter.write(br); fiis.close(); fios.close(); log.info("jpeg 轉 bmp,共耗時:" + (System.currentTimeMillis() - start) + " 毫秒"); } catch (IOException e) { e.printStackTrace(); } }
到此,關于“Java怎么實現bmp和jpeg圖片格式互轉”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。