主要JS

/**清除图片背景颜色 **/
function removeImgBg(img) {//背景颜色  白色const rgba = [255, 255, 255, 255];// 容差大小const tolerance = 60;var imgData = null;const [r0, g0, b0, a0] = rgba;var r, g, b, a;const canvas = document.createElement('canvas');const context = canvas.getContext('2d');const w = img.width;const h = img.height;canvas.width = w;canvas.height = h;context.drawImage(img, 0, 0);imgData = context.getImageData(0, 0, w, h);for (let i = 0; i < imgData.data.length; i += 4) {r = imgData.data[i];g = imgData.data[i + 1];b = imgData.data[i + 2];a = imgData.data[i + 3];const t = Math.sqrt((r - r0) ** 2 + (g - g0) ** 2 + (b - b0) ** 2 + (a - a0) ** 2);if (t <= tolerance) {imgData.data[i] = 0;imgData.data[i + 1] = 0;imgData.data[i + 2] = 0;imgData.data[i + 3] = 0;}}context.putImageData(imgData, 0, 0);const newBase64 = canvas.toDataURL('image/png');img.src = newBase64;
}

测试示例:

<!DOCTYPE html>
<html><head><title> new document </title><meta name="generator" content="editplus" /><meta name="author" content="" /><meta name="keywords" content="" /><meta name="description" content="" /><style>html,body {background: #c7bbbb;text-align: center;}</style>
</head><body><img id="img"src='https://img-blog.csdnimg.cn/2022020110394629157.png'><script>setTimeout(() => {removeImgBg(document.getElementById('img'));}, 3000);/**清除图片背景颜色 **/function removeImgBg(img) {//背景颜色  白色const rgba = [255, 255, 255, 255];// 容差大小const tolerance = 60;var imgData = null;const [r0, g0, b0, a0] = rgba;var r, g, b, a;const canvas = document.createElement('canvas');const context = canvas.getContext('2d');const w = img.width;const h = img.height;canvas.width = w;canvas.height = h;context.drawImage(img, 0, 0);imgData = context.getImageData(0, 0, w, h);for (let i = 0; i < imgData.data.length; i += 4) {r = imgData.data[i];g = imgData.data[i + 1];b = imgData.data[i + 2];a = imgData.data[i + 3];const t = Math.sqrt((r - r0) ** 2 + (g - g0) ** 2 + (b - b0) ** 2 + (a - a0) ** 2);if (t <= tolerance) {imgData.data[i] = 0;imgData.data[i + 1] = 0;imgData.data[i + 2] = 0;imgData.data[i + 3] = 0;}}context.putImageData(imgData, 0, 0);const newBase64 = canvas.toDataURL('image/png');img.src = newBase64;}</script>
</body></html>

清除前:

清除后:

JavaScript 清除图片背景颜色 使之透明相关推荐

  1. 如何把winform图片背景换成透明颜色_如何用photoshop更换图片背景颜色?

    生活与工作中我们经过会需要更改图片的背景颜色,首先的软件肯定是photoshop,那么对于不熟悉photoshop的人来说,如何通过这个软件来更改图片的背景色呢,下面和大家分享下小技巧: 首先打开ph ...

  2. python/改变图片尺寸及分辨率/填充透明图片背景颜色

    改变图片尺寸及分辨率(dpi): from PIL import Image #调整大小和分辨率(dpi) im = Image.open('2.1.bmp') im = im.resize((188 ...

  3. 如何去除图片背景颜色?怎样将背景色变透明?

    小伙伴在处理图片的时候,一定会遇到去除图片背景色的情况,即使处理一张图片也是件很痛苦的事情.经常处理图片的小伙伴可以使用ps,对于不会PS的小伙伴如果有一款简单好用的去除图片背景颜色工具,就可以节省很 ...

  4. Atitit 动态按钮图片背景颜色与文字组合解决方案

    Atitit 动态按钮图片背景颜色与文字组合解决方案 转换背景颜色,setFont("cywe_img", fontScale, 50, 5) 设置文字大小与坐标 文字分拆,使用字 ...

  5. PPT制作 ---------插入图片背景颜色与模板的背景颜色不一致

    今天在制作ppt时候,遇到插入图片背景颜色与模板的背景颜色不一致,这样做出来效果不好, 在网上查了攻略后,可以利用ppt自带的图片删除背景来调节, 一顿操作后 记下来说不定以后工作时候需要使用.

  6. CorelDRAW快速去除图片背景颜色

    当我们需要从网上借助一些素材图片在CorelDRAW中运用时,往往需要去掉图片的背景颜色.本文小编分享CDR中如何快速去除图片背景颜色的方法,通过此方法可以做简单的照片抠图.合成. 1. 打开Core ...

  7. 背景图片背景颜色同时存在

    背景图片背景颜色同时存在 background: url('-/assets//images/search@2x.png') #fff 24px center no-repeat; backgroun ...

  8. html自定义颜色函数,javascript设置元素背景颜色

    我有一个 javascript功能,当一个人点击具有onclick功能的元素时,会做一些事情. 我的问题是: 我想要的是,在这个功能中,设置一个字体颜色fot这个函数onclick的html元素.但我 ...

  9. MFC开发IM-第十一篇、MFC设置对话框的背景颜色及设置透明

    转载自:http://blog.sina.com.cn/s/blog_673ccb5b01010uwr.html 设置背景颜色:     我用了很多方法都不行,查了很多资料,现在说一下解决方案吧.   ...

最新文章

  1. 高校调课代课审批系统设计研究
  2. 昨天尝试了Layout,也谈Silverlight的布局
  3. system函数阻塞_CompletableFuture:让你的代码免受阻塞之苦
  4. Linux NB的单行命令
  5. 一次SAP客户访谈记录
  6. 【遥感物候】植被物候与气候(气温和降水)条件的空间相关性分析
  7. 如何使用Swift Playgrounds制作东西
  8. 2020 年 3 月全国程序员工资排名!
  9. 帝豪gl车机系统降级_帝豪GL配备智能娱乐系统,搭1.8L发动机,静态体验如何?...
  10. java.sql.SQLSyntaxErrorException: Unknown column ‘###‘ in ‘field list‘
  11. java 打文件传输超时_java I/O 一次批量插入保存文件,导致超时问题?
  12. sqlserver修改实例名
  13. Windows 10 自带那么多图标,去哪里找呢?
  14. C语言2019软件,c语言模拟编程学习软件v2019 最新版
  15. H5页面,华为手机打开不加载JS的问题
  16. 杭州互联网公司和生活成本
  17. JS判断不同的浏览器和版本,提示浏览器版本过低,兼容IE8到IE11
  18. CAD图纸转BMP格式图片时怎么设置输出色彩?
  19. Advice for applying machine learning - Diagnosing bias vs. variance
  20. Win10安装Ubuntu22.04后,The Windows Subsystem for Linux optional component is not enabled. Please enable

热门文章

  1. 编写一个程序,将一串字符倒序存放后输出。
  2. 设计模式之Builder
  3. 软件工程心理学之1----开篇
  4. 移除指定 global using 命名空间
  5. ASP.NET Core 跨平台图形验证码实现
  6. 如何通过 .NETCore 获取 Linux,Mac 的硬件信息?
  7. 如何更改 C# Record 构造函数的行为
  8. 对 精致码农大佬 说的 Task.Run 会存在 内存泄漏 的思考
  9. Win10 Terminal + WSL 2 安装配置指南,精致开发体验
  10. 【壹刊】Azure AD(二)调用受Microsoft 标识平台保护的 ASP.NET Core Web API (上)