亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求老師解答

var clippingRegion={x:200,y:200,r:50}
context.arc(clippingRegion.x,clippingRegion.y,clippingRegion.r,Math.PI*2,false);

這樣定義之后會出現?Cannot read property 'x' of undefined。

如果將context.arc()里面的參數直接寫數字又沒問題 為什么呢

正在回答

2 回答

var?canvsWidth?=?800;
var?canvsHeight?=?600;
var?canvas?=?document.getElementById("canvas");
var?cantext?=?canvas.getContext("2d");
canvas.width?=?canvsWidth;
canvas.height?=?canvsHeight;

var?image?=?new?Image();
var?clippingRegion={x:?400?,?y:?200?,?r:200?}
image.src?=?"image.jpg";
image.onload=function(e){
????initCanvas();
}
function?initCanvas(){
????draw(image,?clippingRegion);
}
function?setClippingRegion(){

????cantext.beginPath();
????cantext.arc(clippingRegion.x?,?clippingRegion.y?,?clippingRegion.r?,?0?,Math.PI*2?,?false);
????cantext.clip();
}

function?draw(image,?clippingRegion){
????cantext.clearRect(?0,?0,canvas.width,canvas.height);
????cantext.save();
????setClippingRegion(clippingRegion);
????cantext.drawImage(image?,?0,?0);
????cantext.restore();
}
function?show(){
????var?clippingRegion.r=1000;
????alert(clippingRegion.r);
????draw(image,?clippingRegion);

}

為啥我設置了clip的半徑為1000畫面不起作用呀?

0 回復 有任何疑惑可以回復我~
#1

Lure丶 提問者

r=1000是在畫面重置的時候才會用到哦
2016-02-02 回復 有任何疑惑可以回復我~
context.arc(clippingRegion.x,clippingRegion.y,clippingRegion.r,Math.PI*2,false);

你上面這個定義里少了一個參數。第四第五個參數應該是圓弧的起始弧度位置。正確的應該為:

context.arc(clippingRegion.x,clippingRegion.y,clippingRegion.r,0,Math.PI*2,false);


1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求老師解答

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號