Java 手写签字去除背景 背景透明「建议收藏」

Java 手写签字去除背景 背景透明「建议收藏」Java 手写签字去除背景 背景透明/** * 白底照片去除白底 形成透明底图片 * @param file 需要去除背景的图片 * @param Path 去除背景后保存图片的路径 * @return true 则去除成功 ,false 则失败 */public static boolean localImgToAlpha(File file, String Path) { try { BufferedImage bi = ImageIO.read(new F

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Java 手写签字去除背景 背景透明

在这里插入图片描述

/**
 * 白底照片去除白底 形成透明底图片
 * @param file  需要去除背景的图片
 * @param Path  去除背景后保存图片的路径
 * @return  true 则去除成功 ,false 则失败
 */
public static boolean localImgToAlpha(File file, String Path) {
    try {
        BufferedImage bi = ImageIO.read(new FileInputStream(file));
        ImageIcon imageIcon = new ImageIcon(bi);
        BufferedImage bufferedImage = new BufferedImage(imageIcon.getIconWidth(), imageIcon.getIconHeight(),
                BufferedImage.TYPE_4BYTE_ABGR);
        Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics();
        g2D.drawImage(imageIcon.getImage(), 0, 0, imageIcon.getImageObserver());
        int alpha = 0;
        for (int j1 = bufferedImage.getMinY(); j1 < bufferedImage.getHeight(); j1++) {
            for (int j2 = bufferedImage.getMinX(); j2 < bufferedImage.getWidth(); j2++) {
                int rgb = bufferedImage.getRGB(j2, j1);
                int R = (rgb & 0xff0000) >> 16;
                int G = (rgb & 0xff00) >> 8;
                int B = (rgb & 0xff);
                if (((255 - R) < 30) && ((255 - G) < 30) && ((255 - B) < 30)) {
                    rgb = ((alpha + 1) << 24) | (rgb & 0x00ffffff);
                }
                bufferedImage.setRGB(j2, j1, rgb);
            }
        }
        g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver());
        ImageIO.write(bufferedImage, "png", new File(Path));// 直接输出文件
        return true;
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}

转载链接: [link]https://blog.csdn.net/weixin_44912855/article/details/111551807

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171149.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm安装包报错

    pycharm安装包报错  相信有很多Python初学者在使用pycharm安装一些包时会遇到报错现象!  我也是一名Python初学者,当然也会遇到这种问题!当遇到上述问题时,我个人觉得是因为“pip”的版本问题,所以大家可以先更新“pip”(通过cmd更新:python-mpipinstall–upgradepip)。   …

    2022年5月16日
    41
  • pycharm 删除项目_ios隐藏的已购项目怎么删除

    pycharm 删除项目_ios隐藏的已购项目怎么删除PyCharm彻底删除项目直接删除源文件,删不干净,会留下一些文件1、点击File,选择CloseProject2、关闭项目之后,会弹出一个选择项目的界面,点击你想要删除的项目右边的叉3、然后找到该项目所在的路径,选中该项目的文件,“Shift+Delete”(永久删除,不放入回收站)就OK了路漫漫其修远兮,吾将上下而求索。核心关键:python实战是检验学习效果的唯一…

    2022年8月29日
    4
  • jsrender

    jsrender

    2022年4月3日
    44
  • Vue学习之事件修饰符

    Vue学习之事件修饰符Vue学习之事件修饰符

    2022年4月23日
    43
  • 自然常数e的由来(简单通俗易于理解自然常数e)「建议收藏」

    自然常数e的由来(简单通俗易于理解自然常数e)「建议收藏」自然常数e的由来 (该文章用于自学和分享) 开篇先讲两个例子苏格拉底的麦穗柏拉图问苏格拉底,什么是爱情。苏格拉底说,这样吧,你去麦田里,不要回头,一直往前走,把你遇到的、最大的那棵麦穗摘下来、拿给我。后面的事,大家都知道了:柏拉图瞻前顾后,总觉得后面还有更好的,结果两手空空、一棵麦穗也没有得到。 除此之外,梅里尔·弗勒德(MerrillFlood)【提出过博弈论中…

    2025年7月21日
    3
  • Http请求URL长度限制[通俗易懂]

    Http请求URL长度限制[通俗易懂]http1.1协议原文http1.1协议中对url的长度是不受限制的,协议原文://https://www.ietf.org/rfc/rfc2616.txt3.2.1GeneralSyntax TheHTTPprotocoldoesnotplaceanyapriorilimitonthelengthofaURI.ServersM…

    2022年8月24日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号