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

需求

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

效果

做法

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进行设置
相关推荐
没头脑和不高兴y几秒前
Element-Plus-X:基于Vue 3的AI交互组件库
前端·javascript
ErMao2 分钟前
Proxy 与 Reflect:最硬核、最实用的解释
前端·javascript
N***73854 分钟前
前端路由权限动态更新,Vue与React实现
前端·vue.js·react.js
xiaoxue..6 分钟前
用 Node.js 手动搭建 HTTP 服务器:从零开始的 Web 开发之旅!
服务器·前端·http·node.js
华仔啊7 分钟前
Vue3图片放大镜从原理到实现,电商级细节展示方案
前端·vue.js·canvas
宇余7 分钟前
Unibest开发避坑指南:20+常见问题与解决方案
前端·vue.js
在逃的吗喽17 分钟前
Spring Boot的web基础配置
前端·spring boot
玲小珑36 分钟前
LangChain.js 完全开发手册(十九)前端 AI 开发进阶技巧
前端·langchain·ai编程
哆啦A梦158836 分钟前
46 修改购物车数据
前端·vue.js·node.js
程序员ys39 分钟前
Vue的响应式系统是怎么实现的
前端·javascript·vue.js