加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

用CSS混合模+SVG实现更改图片颜色功能的方法

发布时间:2023-10-24 15:01:42 所属栏目:语言 来源:
导读:前两天在Codepen看到了@Kyle Wetton写的一个示例, 使用CSS混合模式和SVG来改变沙发的颜色 。非常有意思的一案例。这让我想起了在实际的一些业务场景中的运用,比如说一些美妆的应用中,就有类似的场景。不知道大家是
前两天在Codepen看到了@Kyle Wetton写的一个示例, 使用CSS混合模式和SVG来改变沙发的颜色 。非常有意思的一案例。这让我想起了在实际的一些业务场景中的运用,比如说一些美妆的应用中,就有类似的场景。不知道大家是否想深入的了解如何实现这样的效果?如果是,那么请继续往下阅读。
 
使用CSS混合模式和SVG来改变沙发颜色案例
 
下面这个Demo是来自于Codepen上@Kyle Wetton写的一个效果:
 
尝试着改为颜色,你会看到不同的沙发颜色:
 
是不是很有意思。
 
其实在实际场景中也有类似的一些效果,比如一些美妆应用:

如果你想了解其中的实现原理或效果,请继续往下阅读。
 
你需要具备的基础知识
 
如果希望顺利的实现上面示例的效果,那么需要具备一点点基础知识。比如CSS的混合模、 SVG 等。
 
使用CSS的混合模式不同的属性值,我们可以非常轻意的改变一张图片的效果:

CSS混合模式还能实现很多其他的效果,这里就不阐述了。
 
除此之外,你还需要会点扣图的技巧。不过这一点,我想对于前端来说应该不是难题。
 
接下来,我们就实战一下,先来分析一下@Kyle Wetton的案例。该案例非常简单,在HTML中有三个部分:
 
有一坨SVG代码,看上去密密麻麻,对于不了解SVG的同学肯定会带来一种恐惧感(亲,莫慌)
 
有几个控件,可以让用户选择颜色
 
简单的分析一下,你看到的一坨SVG代码:
 
<svg id="js-couch" class="couch__overlay" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" width="1000" height="394">
 
    <defs>
 
        <path d="M996.35 77.55q-1.85-1.95-8.65-3.75l-62.4-17.1q-9.3-2.75-12.15-2.5-1.8.15-2
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章