繁体   English   中英

HTML画布大小调整和坐标空间

[英]Html Canvas Resizing And Coordinate Space

注意:我使用的是Google Chrome浏览器

目前我有此测试页

http://www.evecakes.com/doodles/canvas_size_issue.htm

应该在鼠标光标的下方绘制一个矩形,但是确实存在一些怪异的缩放问题,导致它以可变的偏移进行绘制。 我认为这是因为画布坐标空间没有随其html大小而增加。 有没有办法增加该坐标空间的大小?

这是javascript函数

$('#mapc').mousemove(function (event) {

            var canvas = $('#mapc');
            var ctx = canvas[0].getContext('2d');

            ctx.fillStyle = "rgb(200,0,0)";
            ctx.fillRect(event.clientX, event.clientY, 55, 50);

            document.title = event.clientX + " --- " + event.clientY;

        });

设置画布的widthheight HTML属性。 现在,它假定其默认宽度,而CSS只是在拉伸它,并且看起来好像在缩放。

附带一提,你可以使用thismousemove事件-这是一个参考#mapc的元素,所以你不会有查询的每个鼠标移动的DOM。

var offset = $('#mapc').offset();

$('#mapc').mousemove(function (event) {

    var ctx = this.getContext('2d');

    ctx.fillStyle = "rgb(200,0,0)";
    ctx.fillRect(event.pageX - offset.left, event.pageY - offset.top, 1, 1);
}); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM