保存圖片后,壓縮格式轉為jpg的時候出現了黑色背景,其根本原因在于透明背景時背景的情況下,轉換為jpg的時候會變成黑色背景,原因是PNG支持透明圖而 JPG格式不支持透明背景。解決方法如下:/** * 把bitmap,png格式的圖片 轉換成jpg圖片 * 因jpg不支持透明,如png透明圖片,則轉成白底! * @param bitmap 源圖 * @param newFilepath 新圖片的路徑 */public static void convertBitmap2Jpg(Bitmap bitmap, String newImgpath) { //復制Bitmap 因為png可以為透明,jpg不支持透明,把透明底明變成白色 //主要是先創建一張白色圖片,然后把原來的繪制至上去 Bitmap outB=bitmap.copy(Bitmap.Config.ARGB_8888,true); Canvas canvas=new Canvas(outB); canvas.drawColor(Color.WHITE); canvas.drawBitmap(bitmap, 0, 0, null); File file = new File(newImgpath); try { FileOutputStream out = new FileOutputStream(file); if (outB.compress(Bitmap.CompressFormat.JPEG, 100, out)) { out.flush(); out.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }}也可以借助第三方軟件進行轉換,例如永楚的風云格式轉換器。支持HEIC轉換成JPG/PNG等圖片格式,批量操作,安全快速。JPG/PNG/BMP等圖片格式之間一鍵互轉,支持JPG/PNG/BMP等常規圖片格式一鍵壓縮,快捷高效。風云格式轉換器鏈接如下:風云格式轉換器