第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

用微軟的瀏覽器會(huì)報(bào)錯(cuò)

用微軟的瀏覽器會(huì)報(bào)錯(cuò),當(dāng)鼠標(biāo)移到邊緣時(shí)報(bào)IndexSizeError,這是什么鬼?參考瀏覽器為IE11和edge

http://img1.sycdn.imooc.com//55e42c890001661203450416.jpg

正在回答

4 回答

這個(gè)是我改造的,在IE瀏覽器也可以放大最邊緣的地方,不需要判斷sx和dx,可以是任意大小的圖片

var?canvas?=?document.querySelector("#canvas");
var?cxt?=?canvas.getContext("2d");

var?offCanvas?=?document.createElement("canvas");
var?offCxt?=?offCanvas.getContext("2d");

var?img?=?new?Image();
var?isMouseDown?=?false;

var?scale?=?2;

window.addEventListener("load",function(){
	img.src?=?"images/a.jpg";
	img.addEventListener("load",function?()?{
????????canvas.width?=?img.naturalWidth;
????????canvas.height?=?img.naturalHeight;
????????cxt.drawImage(img,0,0,canvas.width,canvas.height);
????},false);
},false);

function?windowToCanvas(x,?y){
	var?bbox?=?canvas.getBoundingClientRect();
	return?{
		"x":?x?-?bbox.left,
		"y":?y?-?bbox.top
	};
}

canvas.addEventListener("mousedown",function(event){
	event.preventDefault();
	var?point?=?windowToCanvas(event.clientX,?event.clientY);
	isMouseDown?=?true;
	
	drawCanvasWithMagnifier(isMouseDown,point);
	
},false);

canvas.addEventListener("mousemove",function(event){
	event.preventDefault();
	if(isMouseDown){
		var?point?=?windowToCanvas(event.clientX,?event.clientY);
		drawCanvasWithMagnifier(isMouseDown,point);
	}
},false);

canvas.addEventListener("mouseup",function(event){
	event.preventDefault();
	isMouseDown?=?false;
	drawCanvasWithMagnifier(isMouseDown);
},false);

canvas.addEventListener("mouseleave",function(event){
	event.preventDefault();
	isMouseDown?=?false;
	drawCanvasWithMagnifier(isMouseDown);
},false);

function?drawCanvasWithMagnifier(isShowMagnifier,?point){
	cxt.clearRect(0,0,canvas.width,canvas.height);
	cxt.drawImage(img,0,0,canvas.width,canvas.height);
	if(isShowMagnifier){
		drawMagnifier(point);
	}
}
function?drawMagnifier(point){
	var?imgWidth?=?img.naturalWidth*scale;
	var?imgHeight?=?img.naturalHeight*scale;
	var?mr?=?200;
	
	var?sx?=?-point.x*scale+mr;
	var?sy?=?-point.y*scale+mr;
	
	var?dx?=?point.x?-?mr;
	var?dy?=?point.y?-?mr;
	
	offCanvas.width?=?2*mr;
	offCanvas.height?=?2*mr;
	offCxt.drawImage(img,sx,sy,imgWidth,imgHeight);
	
	
	cxt.save();
	cxt.lineWidth?=?10;
	cxt.strokeStyle?=?"#069";
	cxt.beginPath();
	cxt.arc(point.x,point.y,mr,0,2*Math.PI,false);
	cxt.stroke();
	cxt.clip();
	cxt.drawImage(offCanvas,dx,dy,2*mr,2*mr);
	
	cxt.restore();
}


0 回復(fù) 有任何疑惑可以回復(fù)我~

在firefox與IE下都有這問(wèn)題,感謝思路

0 回復(fù) 有任何疑惑可以回復(fù)我~

應(yīng)該再加多兩句

dx = dx<0?0:dx;
dy = dy<0?0:dy;

1 回復(fù) 有任何疑惑可以回復(fù)我~

已經(jīng)解決了,在微軟的瀏覽器下drawImage的sx和sy小于0的時(shí)候會(huì)報(bào)錯(cuò),要在drawImage
之前加多兩句

sx = sx<0?0:sx;
sy = sy<0?0:sy;

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

愛(ài)慕之夏

我也出現(xiàn)了同樣的錯(cuò)誤 加了你的代碼 錯(cuò)誤還在啊
2015-09-06 回復(fù) 有任何疑惑可以回復(fù)我~
#2

愛(ài)慕之夏

呃呃,對(duì)dx,dy都做了判斷就好了
2015-09-06 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

用微軟的瀏覽器會(huì)報(bào)錯(cuò)

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)