sx,sy,dx,dy不理解
drawMagnifier(point)中
??? var sx = image_lg_xc - radius;
??? var sy = image_lg_yc - radius;
??? var dx = point.x - radius;
??? var dy = point.y - radius;
這四句話不理解,可以幫我解答一下嗎?
drawMagnifier(point)中
??? var sx = image_lg_xc - radius;
??? var sy = image_lg_yc - radius;
??? var dx = point.x - radius;
??? var dy = point.y - radius;
這四句話不理解,可以幫我解答一下嗎?
2016-12-21
舉報(bào)
2017-09-21
關(guān)于canvas的sx,sy理解,理解了這個(gè)后就理解dx,dy:
用戶在第一個(gè)canvas上點(diǎn)擊獲得一個(gè)位置ux,uy。
需要在第二個(gè)canvas獲得sx,sy,
需要理解你要在第二個(gè)canvas 中獲取一個(gè)區(qū)域,這個(gè)區(qū)域大小就是2倍的mr,那么這個(gè)mr的左上角坐標(biāo)怎么獲得,就是sx=ux*scale-mr,寬度就是2*mr
在第一個(gè)canvas顯示這個(gè)放大鏡
? ? ?context.drawImage(第二個(gè)canvas,sx,sy,2*mr,2*mr,dx,dy,2*mr,2*mr)
2016-12-27
所謂放大,就是將大圖相應(yīng)位置的區(qū)域(注意,這個(gè)區(qū)域和放大鏡大小相同)摳出來(lái)顯示在放大鏡中即可。所以,只要根據(jù)放大倍數(shù)和放大鏡中心點(diǎn),去大圖中找到匹配點(diǎn),然后以這個(gè)點(diǎn)為中心,摳一個(gè)放大鏡大小的圖。這就是為什么找起始點(diǎn)都是減去 radius 的原因。