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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • USB转485/232

    USB转485/232USB转485模块双向传输防浪涌屏蔽线UT-890a/Z-TECUSB转232模块双向传输防浪涌屏蔽线Z-TEC

  • 前端学到什么程度可以找到工作(应届毕业生有什么优势)

    目录1.前端开发下载安装VScode优化配置2、插件安装3、设置字体大小4、开启完整的Emmet语法支持5、视图2.Node.js入门2.1、什么是Node.js2.2、Node.js有什么用2.3、安装下载:2.4、快速入门2.5、服务器端应用开发3、ES6入门3.2、let声明变量3.3、const声明常量3.4、解构赋值创建3.5、模板字符串创建3.6、声明对象简写创建3.7、定义方法简写3.8、对象拓展

  • windows7下预览psd

    windows7下预览psdPhotoshopcs5安装完后电脑里PSD格式的文件无法显示缩略图,想看原图必须打开软件才能知道图片的内容,安装此补丁之后不用打开软件,在文件夹里就可以看到PSD格式图片的内容,挺方便的,本人亲自测试可以在win7下使用。使用方法:将"psicon.dll"文件拷备到系统system32目录下,不然的话重启之后又看不到缩略图了。步骤一:解压到任何文件夹;步骤二:将psicon.dll拷备到…

  • Razor语法_range语法

    Razor语法_range语法本章通过示例来说明常见用途下的Razor语法。1.Razor中的核心转换符号是@。这个单一字符用做标记-代码的转换字符,有时也反过来用作代码-标记的转换字符。这里共有两种基本类型的转换:代码表达式和代码块。求出表达式的值,然后将值写入到响应中。@{stringrootNamespace="MyApp";}&lt;span&gt;@rootNamespace.Models&…

    2022年10月25日
  • UVa 10763 – Foreign Exchange

    UVa 10763 – Foreign Exchange

  • finemolds模型_yolo模型训练

    finemolds模型_yolo模型训练在已有模型上finetune自己的数据训练一个模型1、准备训练数据和测试数据2、制作标签3、数据转换,将图片转为LMDB格式前三步的过程和如何利用自己的数据训练一个分类网络是一样的,参考处理即可。4、修改网络模型文件复制/caffe-root/models/finetune_flickr_style文件夹下面的deploy.prototxt…

发表回复

您的电子邮箱地址不会被公开。

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