网络编程 发布日期:2025/11/5 浏览次数:1
使用canvas的convas来实现围绕旋转动画,外圈顺时针,里层逆时针
代码demo链接地址:代码demo链接地址
html文件
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
body {
margin: 0;
padding: 0;
overflow: hidden;
background-color: #f0f0f0;
}
</style>
<script src="/UploadFiles/2021-04-02/konva.js">
js文件
function Circle(obj) {
this._init(obj);
}
Circle.prototype = {
_init: function (obj) {
this.x = obj.x, //圆心x轴的坐标
this.y = obj.y, //圆心y轴的坐标
this.outR = obj.outR, //外圆的半径
this.inR = obj.inR, //内圆的半径
this.color = obj.fill, //填充颜色
this.text = obj.text, //内圆的文字
this.outOpacity = obj.outOpacity, //外圆的透明度
this.inOpacity = obj.inOpacity //内圆的透明度
},
drawCircle: function (group) {
//创建一个组
var groupCir = new Konva.Group({
x: this.x,
y: this.y
});
//外圆
var outCir = new Konva.Circle({
x: 0,
y: 0,
radius: this.outR,
fill: this.color,
opacity: this.outOpacity
});
groupCir.add(outCir);
//内圆
var inCir = new Konva.Circle({
x: 0,
y: 0,
radius: this.inR,
fill: this.color,
opacity: this.inOpacity
});
groupCir.add(inCir);
//添加文字
var text = new Konva.Text({
x: -this.inR,
y: -10,
text: this.text,
fill: "white",
fontSize: 20,
width: 2 * this.inR,
align: "center"
});
groupCir.add(text);
group.add(groupCir);
}
}
效果图片:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。