html5图片圆形-小提示:SVG和Canvas分别实现图片圆角效果

2023-09-03 0 4,943 百度已收录

1.图片叠加和CSS3border-radius实现圆角

图片叠加

找一张中间镂空的图片覆盖原图,需要和网页的背景颜色一致。

CSS3边框半径

.xxx { border-radius: 100px; }

有前两种方法的demo和截图~

但demo上的图片素材不小心被放大了。 我不想换图片,所以地址就不公布了。 你可以YY它。 截图一下,在最后给个~

html5图片圆形-小提示:SVG和Canvas分别实现图片圆角效果

2.SVG实现图片圆角效果

这里的实现原理适用于各种SVG规则或不规则图形。

SVG中实现图片圆角的关键是使用元素

例如杨梅,如果一张名为test.jpg的图片有一个大小为100px*100px的正方形效果,则SVG代码如下:


图形元素有一个fill属性,让它的值url锚定到

html5图片圆形-小提示:SVG和Canvas分别实现图片圆角效果

id就可以了

有这个demo,大家可以硬点这里:SVG圆角图像demo

滑动滑块可查看水平/垂直方向圆角大小的变化。 由于图片长宽比不一致,圆角的极限是规则的椭圆:

该演示展示了一个元素,顾名思义,是一个方形元素。 如果你想实现完美的圆形效果,请使用一个元素,比如上面所示的SVG代码。其实你也可以使用

元素不规则地填充,以创造更有趣的图形效果。

html5图片圆形-小提示:SVG和Canvas分别实现图片圆角效果

3.Canvas实现图片圆角效果

该规则适用于各种Canvas绘制的规则或不规则图形。

Canvas中实现图片圆角的关键是使用“纹理填充”。

Canvas中有一个叫createPattern的方法,可以将已知规格的图片元素转换为纹理对象进行填充。

以猕猴桃为例,如果要实现一张名为test.jpg、大小为100px*100px的方形图片的效果,主要JS代码如下:

// canvas元素, 图片元素
var canvas = document.querySelector("#canvas"), image = new Image();
var context = canvas.getContext("2d");
image.onload = function() {
    // 创建图片纹理
    var pattern = context.createPattern(image, "no-repeat");
    // 绘制一个圆
    context.arc(50, 50, 50, 0, 2 * Math.PI);
    // 填充绘制的圆
    context.fillStyle = pattern;
    context.fill();    
};
image.src = "test.jpg";

html5图片圆形-小提示:SVG和Canvas分别实现图片圆角效果

让Canvas上下文的fillStyle属性值等于这个纹理对象。

有这个demohtml5图片圆形,大家可以硬点这里:Canvas实现圆角图片demo

Canvas自带的圆形​​绘图API没有圆角属性,所以demo中的圆角正方形使用了自定义的方法。 我快速浏览了一下,发现在垂直和水平方向上实现不同的圆角尺寸有点繁琐。 出于演示的目的,我没有花太多精力,因此演示中的鱼片是对称的。

该演示展示了带有圆角的方形效果。 如果想实现完美的圆形效果,请使用arc方法来绘制,如上所示的JS代码。 事实上,你还可以勾勒出其他不规则形状进行填充,创造出更有趣的图形效果。

4、什么意思

html5图片圆形-小提示:SVG和Canvas分别实现图片圆角效果

CSS3实现圆角效果有多简单,而SVG和Canvas的兼容性又没那么好,那么何必费心去搞SVG和Canvas的圆角效果呢?

我只想说:生而为有用之人,金子去了,还会再回来。

五、年中总结

明天6月30日,是上半年的最后一天,所以明天的尾声就晋升为年中尾声了。

我得想出一个牛逼的尾声来压场面,啊,有:“世界不薄不厚,归根结底是平的”。

好吧,最后附上我一开始勉强放的截图(近70K),包括:图像叠加、CSS3、SVG、Canvas实现功效和代码显示(点击蓝色背景块即可显示)。

本文为原创文章,包含脚本行为。 知识点会不定期更新,也会修正一些错误。 因此,转载时请保留原始出处,以便于追查html5图片圆形,防止旧知识和错误知识的欺骗,同时也能有更好的阅读体验。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 html5 html5图片圆形-小提示:SVG和Canvas分别实现图片圆角效果 https://www.wkzy.net/game/192389.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务