[LayaAir 2.0]请问graphics.drawTexture(texture)中如何增加一个matrix,只显示图中的一个圆形区域

请问graphics.drawTexture(texture)中如何增加一个matrix,只显示图中的一个圆形区域

我可以另外建一个圆形比如
var mapMask = new Laya.Sprite();
mapMask.size(100,100);
mapMask.pos(50,50);
mapMask.graphics.drawCircle(0, 0, 50, "#000000")

我这么获得mapMask的matrix,然后放进graphics.drawTexture中呢?

不要说直接用mask,因为微信小游戏不支持,谢谢
已邀请:

coder

赞同来自:

var url = "https://***********.jpg";
var miniMap = new Image();
miniMap.onload=function(){
if(miniMap.complete==true){
var img = circle_image(miniMap,750,1334);
console.log(miniMap);
var miniMap1 = new Laya.Image();
miniMap1.loadImage(img);
Laya.stage.addChild(miniMap1);
}
}
miniMap.src=url;
 
 
function circle_image(img, oldImgWidth, oldImgHeight) {
var width, height, canvas, contex, circle;
if (img.width > img.height) {
width = img.height;
height = img.height;
} else {
width = img.width;
height = img.width;
}
canvas = document.createElement('canvas');
if (!canvas.getContext) { // 判断浏览器是否支持canvas,如果不支持在此处做相应的提示
console.log('您的浏览器版本过低,暂不支持。');
return false;
}
canvas.width = width;
canvas.height = height;
contex = canvas.getContext("2d");
circle = {
x: width / 2,
y: height / 2,
r: width / 2
};
contex.clearRect(0, 0, width, height);
contex.save();
contex.beginPath();
contex.arc(circle.x, circle.y, circle.r, 0, Math.PI * 2, false);
contex.clip();
contex.drawImage(img, 0, 0, oldImgWidth, oldImgHeight, 0, 0, width, height);
contex.restore();
return canvas.toDataURL('image/png');
}

要回复问题请先

商务合作
商务合作