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

需求

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

效果

做法

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进行设置
相关推荐
AI前端老薛2 分钟前
CSS实现动画的几种方式
前端·css
携欢6 分钟前
portswigger靶场之修改序列化数据类型通关秘籍
android·前端·网络·安全
GuMoYu6 分钟前
npm link 测试本地依赖完整指南
前端·npm
代码老祖7 分钟前
vue3 vue-pdf-embed实现pdf自定义分页+关键词高亮
前端·javascript
未等与你踏清风7 分钟前
Elpis npm 包抽离总结
前端·javascript
代码猎人8 分钟前
如何使用for...of遍历对象
前端
秋天的一阵风10 分钟前
🎥解决前端 “复现难”:rrweb 录制回放从入门到精通(下)
前端·开源·全栈
林恒smileZAZ10 分钟前
【Vue3】我用 Vue 封装了个 ECharts Hooks
前端·vue.js·echarts
颜酱10 分钟前
用填充表格法-继续吃透完全背包及其变形
前端·后端·算法
代码猎人11 分钟前
new操作符的实现原理是什么
前端