前端取图片相同颜色作为遮罩或者背景

需求

  • 遮罩层取图片相同/相似的颜色作为遮罩

效果

做法

npm库

grade.js

COLOR THIEF

rgbaster.js

算法

简单做法

做法1

  • 效果
  • 代码
html 复制代码
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <!-- 原始图 -->
    <div class="origin"></div>
    <!-- 模糊 -->
    <div class="mask"></div>
    <style>
      div.origin {
        position: relative;
        width: 320px;
        height: 200px;
        overflow: hidden;
        background-repeat: no-repeat;
        background-image: url("https://oss.dreamlove.top/i/2024/02/20/xqsvvg.png");
      }
      div.mask{
        position: relative;
        width: 320px;
        height: 200px;
        overflow: hidden;
        /* 关键代码 */
        background-repeat: no-repeat;
        background-image: url("https://oss.dreamlove.top/i/2024/02/20/xqsvvg.png");
        background-size: 20000%;
        background-position: center;
      }
    </style>
  </body>
</html>

参考文章

后话

  • 其实简单做法里面的思路,也可以根据背景来设置字体颜色,大概思路就是字体颜色设置为透明,并利用background-clip进行设置
相关推荐
有点笨的蛋6 分钟前
从值拷贝到深拷贝:彻底弄懂 JavaScript 的堆与栈
前端·javascript
BBB努力学习程序设计8 分钟前
CSS3选项卡:纯CSS实现优雅的内容切换
前端·html
有点笨的蛋8 分钟前
从零掌握 Ajax:一次请求带你读懂异步数据加载原理
前端·javascript·ajax
进击的野人10 分钟前
JavaScript日期操作与DOM节点管理:构建动态网页的核心技术
前端·javascript
BBB努力学习程序设计13 分钟前
Canvas入门指南:从零开始绘制你的第一个图形
前端·html
AAA简单玩转程序设计14 分钟前
JS防抖:别再让按钮“手抖”连点了!
前端·javascript·html
晚夏_八月19 分钟前
ES6 模块导出 export default 与 export 的区别?
前端
皮蛋瘦肉粥_12122 分钟前
pink老师html5+css3day09
前端·css3·html5
Mintopia36 分钟前
🧠 可定制化 AIGC:Web 用户个性化模型训练的技术门槛正在塌缩!
前端·人工智能·trae
JarvanMo1 小时前
Flutter CI/CD 完整指南:从 Bitbucket Pipelines 到 Play Store 自动化部署
前端