zrender将一张图片裁剪为圆形

前言

我们都知道css将一张图片变成圆角图片很容易,通过border-radius就可以实现,
但是canvas上面就有点麻烦了 ,原生的写法传送门不做探讨,
咱们这次主要讲讲利用强大的绘图引擎zrender来实现

开始

本文zrender版本号:


image.png

首先我们先绘制一张图片


image.png

然后咱们利用setClipPath对图片进行裁剪


image.png

代码

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        #main {
            width: 400px;
            height: 400px;
            background: black;
        }
    </style>
    <script src="./zrender.min.js"></script>
</head>
<body>
<div id='main'></div>
<script type="text/javascript">
    console.log(zrender);
    var zr = zrender.init(document.getElementById('main'));
    var img = new zrender.Image({
        style: {
            image:'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=2172656580,259017371&fm=27&gp=0.jpg',
            x:100,
            y:100,
            width:200,
            height:200
        }
    });

    var clipPath = new zrender.Circle({
        shape: {
            cx: 200,
            cy: 200,
            r: 80
        }
    });

    img.setClipPath(clipPath);

    zr.add(img);
</script>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容