Android png透明图片转jpg时背景变黑的解决方法

 更新时间:2017年12月25日 16:46:23   作者:康熙微博私访记  
这篇文章主要介绍了Android png透明图片转jpg时背景变黑的解决方法,需要的朋友可以参考下

在做view保存图片后,压缩格式转为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();
  }
}

总结

以上所述是小编给大家介绍的Android png透明图片转jpg时背景变黑的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Android框架Volley使用之Post请求实现方法

    Android框架Volley使用之Post请求实现方法

    这篇文章主要介绍了Android框架Volley使用之Post请求实现方法,,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • Android编程获取网址HTML代码的方法

    Android编程获取网址HTML代码的方法

    这篇文章主要介绍了Android编程获取网址HTML代码的方法,涉及Android针对给定URL地址的网页相关信息操作技巧,需要的朋友可以参考下
    2017-06-06
  • android实现手机与单片机蓝牙模块通信

    android实现手机与单片机蓝牙模块通信

    这篇文章主要为大家详细介绍了android实现手机与单片机蓝牙模块通信的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android bindservice失败解决方法

    Android bindservice失败解决方法

    这篇文章主要介绍了Android bindservice失败解决方法的相关资料,希望通过本文能帮助大家解决这样的问题,需要的朋友可以参考下
    2017-08-08
  • Android利用AsyncTask异步类实现网页内容放大缩小

    Android利用AsyncTask异步类实现网页内容放大缩小

    这篇文章主要为大家介绍了利用AsyncTask异步类实现网页内容放大缩小的相关资料,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Android实现手机震动效果

    Android实现手机震动效果

    这篇文章主要为大家详细介绍了Android实现手机震动效果的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • Android Studio彻底删除项目 Android Studio彻底删除Module

    Android Studio彻底删除项目 Android Studio彻底删除Module

    这篇文章主要为大家详细介绍了Android Studio彻底删除项目,Android Studio彻底删除Module,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Android仿微信联系人字母排序效果

    Android仿微信联系人字母排序效果

    大家使用到的联系人界面,几乎都是按照字母排序,如何实现联系人按字母排序?下面就为大家详解介绍了Android仿微信联系人按字母排序的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Flutter开发之路由与导航的实现

    Flutter开发之路由与导航的实现

    这篇文章主要介绍了Flutter开发之路由与导航的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • android操作SQLite增删改减实现代码

    android操作SQLite增删改减实现代码

    android操作SQLite增删改减实现代码,学习android的朋友可以参考下。
    2010-11-11

最新评论