小编use*_*544的帖子

缩放后确定鼠标在 HTML5 画布上的位置

我正在开发一些涉及使用画布的 HTML5 软件。有一个画布,我需要能够在其中缩放并允许用户通过单击鼠标在画布上涂鸦。到目前为止,在我找到的一些示例的帮助下,我已经使缩放工作了。问题是缩放后,我的绘图工具上的鼠标位置不正常。在任何缩放之前,我可以画得很好。这是缩放的代码:

//Zoom
        mainCanvas.onmousewheel = function(event) {
            var mousex = event.clientX - mainCanvas.offsetLeft;
            var mousey = event.clientY - mainCanvas.offsetTop;
            var wheel = event.wheelDelta / 120;
            //n or -n

            var zoom = 0;
            if(wheel < 0) {
                zoom = 1 / 2;
                if(currentzoom == 1)
                    return;
            } else {
                mousex = event.clientX - mainCanvas.offsetLeft;
                mousey = event.clientY - mainCanvas.offsetTop;
                zoom = 2;
                if(currentzoom == 32)
                    return;
            }
            currentzoom *= zoom;
            mainContext.translate(originx, originy);

            mainContext.scale(zoom, zoom);
            mainContext.translate(-(mousex / scale + originx - …
Run Code Online (Sandbox Code Playgroud)

html javascript drawing canvas dom-events

5
推荐指数
1
解决办法
6116
查看次数

标签 统计

canvas ×1

dom-events ×1

drawing ×1

html ×1

javascript ×1