说到海报,里面的用户头像肯定不能是方形的吧,但是呢,图片他都是方形的
这可咋整
算了,用canvas写出一个
对了,还有,如果出现图片不完整的情况,请移步https://www.yangguangdream.com/?id=2108
逻辑代码
function getCircle(imgss,x,y) { var canvas = document.getElementById("tmpCanvas"); var ctx = canvas.getContext('2d'); ctx.clearRect(0, 0, canvas.width, canvas.height);//清空画布,重新画 //加载图片 var img = new Image() img.setAttribute("crossOrigin", 'Anonymous');//解决跨域问题 img.onload = function () { var width = x; var height = y; var circle = { x: width / 2, y: height / 2, r: width / 2 } ctx.clearRect(0, 0, width, height); //开始路径画圆,剪切处理 ctx.save(); ctx.beginPath(); ctx.arc(circle.x, circle.y, circle.r, 0, Math.PI * 2, false); ctx.clip(); //剪切路径 ctx.drawImage(img, 0, 0); //恢复状态 ctx.restore(); var image = canvas.toDataURL("image/jpg");//返回base64 console.log("====图片切圆完成===="); console.log(image); console.log("======================"); } img.src = imgss; }
调用
getCircle("https://www.yangguangdream.com/zb_users/upload/xcx.jpg",100,100);
微信扫码查看本文
发表评论