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

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

思路一對圖片進行縮放的算法是不是有問題?

思路一中用drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh)這個方法在原圖上從坐標(sx,sy)截取寬為sw高為sw的一部分圖像,然后繪制到畫布上,貌似算法有問題,因為截取是從原圖(sx,sy)截取的,并沒有先對原圖進行縮放

正在回答

2 回答

我看的時候也覺得有問題。。。不知道是不是我的理解有問題,截取是從原圖(sx,sy)截取的,思路1正確的做法我覺得應該是把canvas的寬高等比縮小后原圖寬高的1/2減去縮小后的畫布寬高的1/2,截取下來的部分再放在畫布上(0,0,canvas.width,canvas.height)

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

慕神148822

是的,沒錯
2020-05-22 回復 有任何疑惑可以回復我~
function?drawImageByScale(scale){
????//?原圖尺寸
????var?imageWidth=canvas.width;?
????var?imageHeight=canvas.height;
????if(scale>=1){
????????//?原圖上截取的區域大小
????????var?sw=imageWidth/scale;
????????var?sh=imageHeight/scale;
????????//?原圖上截取位置的坐標
????????var?sx=imageWidth/2-sw/2;
????????var?sy=imageHeight/2-sh/2;
????????var?dx=0;
????????var?dy=0;
????????var?dw=canvas.width
????????var?dh=canvas.height
????}?else?{
????????var?sw=imageWidth;
????????var?sh=imageHeight;
????????var?sx=0;
????????var?sy=0;
????????var?dx=canvas.width/2-sw/2*scale;
????????var?dy=canvas.height/2-sh/2*scale;
????????var?dw=sw*scale;
????????var?dh=sh*scale;
????}
????context.drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh)
}


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

舉報

0/150
提交
取消

思路一對圖片進行縮放的算法是不是有問題?

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

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

幫助反饋 APP下載

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

公眾號

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