1***@qq.com
1***@qq.com
  • 发布:2019-11-16 22:03
  • 更新:2020-06-28 16:36
  • 阅读:2648

uni-app canvas 绘制印章放在 onReady 里面不显示,总是一闪而过。

分类:uni-app

uni-app canvas 绘制印章放在 onReady 里面不显示,总是一闪而过。
canvasYinzhang(){
var context = uni.createCanvasContext('yinzhang');
var text = "";
var companyName = "xxx有限公司";
context.setLineCap('round');//设置线两端端点样式更加圆润
context.setLineJoin('round');//设置两条线连接处更加圆润
context.setStrokeStyle("#ff0000");//设置线的颜色
context.setLineWidth(3);//设置线条的宽度
context.moveTo(190, 100);
context.arc(100, 100, 90, 0, Math.PI 2);//宽、高、半径
context.stroke();
//绘制五角星
this.create5star(context,100,100,25,"#f00",0);
context.setFontSize('21');//设置字体大小
context.setTextBaseline('middle');//设置文本的垂直对齐方式
context.setTextAlign('center'); //设置文本的水平对对齐方式
context.setLineWidth(2.5);
context.setFillStyle('#f00');
context.strokeText(text,100+60);
// 绘制印章单位
context.translate(100,100);// 平移到此位置,
// context.font = '20px 宋体';
var count = companyName.length;// 字数
var angle = 4
Math.PI/(3(count - 1));// 字间角度
var chars = companyName.split("");
var c;
for (var i = 0; i < count; i++) {
c = chars[i];// 需要绘制的字符
if (i == 0) {
context.rotate(5
Math.PI / 6);
} else{
context.rotate(angle);
}
context.save();
context.translate(70, 0);// 平移到此位置,此时字和x轴垂直,公司名称和最外圈的距离
context.rotate(Math.PI / 2);// 旋转90度,让字平行于x轴
// context.strokeText(c, 0, 0);// 此点为字的中心点
context.setFillStyle("#ff0000");//设置填充颜色
context.fillText(c,0,0);//此点为字的中心点
context.restore();
}
context.draw();

        },  

//绘制五角星
create5star(context, sx, sy, radius, color, rotato) {
context.save();
context.setFillStyle(color);//设置填充颜色
context.translate(sx, sy);//移动坐标原点
context.rotate(Math.PI + rotato);//旋转
context.beginPath();//创建路径
var x = Math.sin(0);
var y = Math.cos(0);
var dig = Math.PI / 5 4;
for (var i = 0; i < 5; i++) {//画五角星的五条边
var x = Math.sin(i
dig);
var y = Math.cos(i dig);
context.lineTo(x
radius, y * radius);
}
context.closePath();
context.stroke();
context.fill();
context.restore();
},

2019-11-16 22:03 负责人:无 分享
已邀请:
Kai3546

Kai3546

之前很抵触这个框架,最近耐下心来试着开发一下,结果也碰到这个坑了,真的让我很烦,想吐槽这个框架了

GraceLeeau

GraceLeeau - Web前端开发工程师

请问是否找到原因,为何会一闪而过,怎么解决呢?我这边用hello模板测试canvas画图,也是画的图形一闪而过,画布又变空了

GraceLeeau

GraceLeeau - Web前端开发工程师

DCloud_UNI_GSQ

DCloud_UNI_GSQ

HBuilderX 2.6.3+ 已修复

该问题目前已经被锁定, 无法添加新回复