java调节图片透明度

最近做项目遇到图片要做透明度处理,在csdn搜了搜有很多案例可以调节,但缺点调节的图片是透明背景的话,则调整后背景色为黑色(透明处理后的黑色),究其原因是

BufferedImage output = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);

这句的TYPE_INT_ARGB默认色是(255,255,255)即黑色,所以调整后的背景色是黑的。经过尝试后,成功实现透明度调节,透明背景色不变,0为不透明,10为全透明,做入口参数自己设置。代码如下:

 /*** @param path 源路径* @param tarPath 生成路径* @param alpha    透明度   (0不透明---10全透明)*/public static void changeAlpha(String path,String tarPath,int alpha) {//检查透明度是否越界  if (alpha < 0) {  alpha = 0;  } else if (alpha > 10) {  alpha = 10;  }  try {BufferedImage image = ImageIO.read(new File(path));int weight = image.getWidth();int height = image.getHeight();BufferedImage output = new BufferedImage(weight ,height, BufferedImage.TYPE_INT_ARGB);Graphics2D g2 = output.createGraphics();output = g2.getDeviceConfiguration().createCompatibleImage(weight, height, Transparency.TRANSLUCENT);g2.dispose();g2 = output.createGraphics();//调制透明度for (int j1 = output.getMinY(); j1 < output.getHeight(); j1++) {  for (int j2 = output.getMinX(); j2 < output.getWidth(); j2++) {  int rgb = output.getRGB(j2, j1);  rgb = ((alpha * 255 / 10) << 24) | (rgb & 0x00ffffff);  output.setRGB(j2, j1, rgb);  }  }  g2.setComposite(AlphaComposite.SrcIn);g2.drawImage(image, 0, 0, weight,height, null);g2.dispose();ImageIO.write(output, "png", new File(tarPath));} catch (IOException e) {e.printStackTrace();}}

效果对比:
左侧原图,右侧透明度为2的图,为了对比在word里看看,想用的不妨代码拷下来自己试一试就行。

java:调节图片透明度(支持透明背景)相关推荐

  1. Android素描算法及实现手指在图片上左右滑动调节图片透明度,最终实现类似调节素描浓度的效果

    一.前期基础知识储备 UI掌握PS这一逆天的软件,可以实现将图片转化为素描或者水彩的效果,以素描为例: 在Photoshop中打开一张人物照片,按下快捷键"Ctrl+Shift+U" ...

  2. java调整图片透明度

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java调整图片透明度,需要保存成png格式.透明度输入参数alpha取值0-255 测试函数 public static void main(S ...

  3. OpenCV技巧 | 常用格式图片保存为透明背景图片(附Python源码)-教你轻松制作Logo

    导读 本文主要介绍使用OpenCV将常用格式图片保存为透明背景图片的方法与实现代码. 实现目标 本文的目标有如下两个: ① 将常见格式[jpg/png/bmp]白色背景图片转换保存为透明背景图片: ② ...

  4. php 网页 透明背景图片,php 处理透明背景的图片时的问题

    PHP图象处理之透明背景的gif和png图片的一些问题 1,直接读取有透明背景的PNG格式文件,然后直接输出,背景变成了黑色,gif则没有这种情况. 解决方法:使用 imagesavealpha ($ ...

  5. 用电脑怎么快速抠图?怎么把图片抠成透明背景?

    相信很多小伙伴平时都有抠图(https://www.yasuotu.com/koutu)处理需求,比如制作微信透明头像.给图片换背景等.但是在大多数小伙伴的眼中,抠图需要借助PS这种专业的抠图工具来实 ...

  6. php 去掉图片背景透明背景图片,php 处理透明背景的图片时的问题

    PHP图象处理之透明背景的gif和png图片的一些问题 1,直接读取有透明背景的PNG格式文件,然后直接输出,背景变成了黑色,gif则没有这种情况. 解决方法:使用 imagesavealpha ($ ...

  7. 图片怎么做成透明背景?如何把图片改成透明底?

    平时在下载图片素材的时候,会遇到不是透明底背景的问题,这时候会使用ps的就可以通过ps来处理,但是也有不少小伙伴不知道怎么把图片转化透明底.那么下面就教给大家一个图片背景变透明的方法,使用在线图片去底 ...

  8. C#系列---⑥如何制作背景透明的ico图标、如何将图片白色背景转换为透明背景

    我们在做软件的时候为了提高用户的体验度,我们更倾向于利用图片向用户展示我们各个模块的功能,这样既美观简洁又快速上手.那如何将我们喜欢的图片制作成透明背景的ico图标呢,下面将我查到的方法分享给大家,站 ...

  9. java 创建PNG格式的透明背景的图片

    1. 生成png图片 int width = 400; int height = 300; // 创建BufferedImage对象 BufferedImage image = new Buffere ...

  10. php背景图片透明度,css实现背景图片半透明内容不透明代码分享

    本文主要和大家介绍了纯css实现背景图片半透明内容不透明的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助到大家. 最近做一个登陆界面的,突然想使用这种背景图片透明,而内容不透明的 ...

最新文章

  1. HDU3072(Kosaraju算法)
  2. *17.解释一下最小生成树
  3. 当容器应用越发广泛,我们又该如何监测容器?
  4. ul弹性怎么一行显示_css3系列之弹性盒子 flex
  5. python实现决策树算法sklearn_python sklearn-05:决策树及随机森林
  6. 3.6-3.8 分布式环境启动、测试
  7. 20191007:选择排序,插入排序,冒泡排序详解
  8. 软件测试人员应具备的素质
  9. PHP的消息队列详解
  10. 简要增量式PI控制器
  11. AB罗克韦尔PLC 、变频器、电源,软启武汉峥嵘
  12. linux嵌入式主要学什么软件,嵌入式软件工程师需要学什么?嵌入式Linux开发的工作内容...
  13. html空白键,空格键符号是什么?HTML中空格键符号有哪些?
  14. python图像_Python图像处理
  15. 亚马逊云科技平台上的无服务器 WebSocket
  16. jquery 实现考试倒计时
  17. 亚马逊跨境电商如何运营模式?
  18. 小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks.
  19. JSP+JDBC案例代码(数据维护)
  20. 微信小程序开发一个小型商城(八、个人页面)

热门文章

  1. Excel的N函数和VALUE函数的使用和区别
  2. Docker与Dragonfly详细多机部署
  3. 【opencv】颜色空间总结
  4. 查看电脑重启日志_win10中查看开关机时间及查看admin的RID的方法
  5. 鲁大师服务器cpu性能排行,鲁大师PC处理器性能排行:AMD撕裂者跑分碾压英特尔, i9 7980XE屈居第二!...
  6. 【算法-LeetCode】121. 买卖股票的最佳时机(动态规划;贪心)
  7. 网络神采 网站数据采集软件
  8. prophet Seasonality, Holiday Effects, And Regressors季节性,假日效应和回归
  9. 关系型数据库-MySQL:授权管理
  10. linpack测试工具使用说明