canvas生成圆图和微信小程序canvas圆图
先在HTML中创建 img和canvas并设置id属性
<canvas id="canvas" width="500" height="500" style="border: 1px solid red;"></canvas> <img src="./dialog.png" id="img" />
js中
微信小程序也可以使用。
当然获取canvas会不一样。微信小程序获取canvas,参考(https://www.cnblogs.com/1748sb/p/12955714.html)。
画圆采用'yiven'博主的:https://www.cnblogs.com/yiven/p/7551535.html 。
let c=document.getElementById('canvas');
let img=document.getElementById('img')
let context=c.getContext('2d');
// 图片加载
img.onload = function(e){
console.log('图片加载成功',e)
drawRoundedImg(50,100,100,100,50,img);
}
// 你会需要一张背景
function backGround(){
context.save();
context.fillStyle="#FFFFFF"
context.fillRect(x,y,w,h);
context.restore();
}
// 你可能还需要生成一些文字
function text(){
context.save();
context.fillStyle="black";
context.font="25px 微软雅黑";
context.fillText('踏步走',x,y); // 名字
context.restore();
}
// 生成一张圆在插入图片
function drawRoundedImg(x,y,w,h,r,bgimg){
context.save();
context.beginPath();
context.moveTo(x+r,y);
context.arcTo(x+w,y,x+w,y+h,r);
context.arcTo(x+w,y+h,x,y+h,r);
context.arcTo(x,y+h,x,y,r);
context.arcTo(x,y,x+w,y,r);
context.lineWidth = 1;//线条的宽度
context.strokeStyle = "red";//线条的颜色
context.stroke();
context.clip();
context.drawImage(bgimg, x, y, w, h);
context.restore();
context.closePath();
}
生成后


有问题联系QQ1291481728或在下方评论,会在第一时刻处理。

浙公网安备 33010602011771号