Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript css3的画布缩放问题_Javascript_Html - Fatal编程技术网

Javascript css3的画布缩放问题

Javascript css3的画布缩放问题,javascript,html,Javascript,Html,我的代码包含一个div,它占视图端口的85%,并且它包含一个画布。我目前已经使画布在单击时可以滚动,但出于某种原因,每当我调用canvas.style.transform=scale2,2;画布的大小保持不变。有什么帮助吗 编辑-我在scaleUp函数中调用scale 对 //网络变量 var-socket=io; //按ID获取HTML项目 var tran=document.getElementByIdview-translate; var canvas=document.getElem

我的代码包含一个div,它占视图端口的85%,并且它包含一个画布。我目前已经使画布在单击时可以滚动,但出于某种原因,每当我调用canvas.style.transform=scale2,2;画布的大小保持不变。有什么帮助吗

编辑-我在scaleUp函数中调用scale

对 //网络变量 var-socket=io; //按ID获取HTML项目 var tran=document.getElementByIdview-translate; var canvas=document.getElementByIdctx; ctx=canvas.getContext2d; //canvas.style.transform=scale2,2; //canvas.style.transform=translate0px,0px; var tx=0,//释放x和y ty=0, cx=0,//单击x和y cy=0, mx=0,//移动x和y my=0, 比例=1, 可拖动=错误; ctx.fillStyle=红色; ctx.fillRect0,0,4,4; 函数缩放{ } //获取鼠标X和Y 函数getMousePoscanvas,事件{ var rect=canvas.getBoundingClientRect; 返回{ x:event.clientX-rect.left, y:event.clientY-rect.top }; } canvas.addEventListener'mousedown',functionevent{ var pos=getMousePoscanvas,事件; cx=位置x; cy=位置y; ifevent.which==3{ draggable=true; } ifevent.which==1{ 警惕性; } ifevent.which==2{ } },假; tran.addEventListener'mousedown',functionevent{ var pos=getMousePostran,事件; ifevent.which==3{ } ifevent.which==1{ } ifevent.which==2{ } },假; tran.addEventListener'mouseup',functionevent{ ifevent.which==3{ 可拖动=错误; } ifevent.which==1{ } ifevent.which==2{ } },假; tran.addEventListener'mousemove',functionevent{ var pos=getMousePostran,事件; mx=位置x; my=位置y; document.getElementByIdtext.innerHTML=mx+,+my+大小:+canvas.height++canvas.width; 易变的{ tx=mx-cx; ty=my-cy; document.getElementByIdtext.innerHTML=单击!+tx+,+ty; canvas.style.transform=translate+tx+px,+ty+px; } },假;
HTML5画布的.scale方法实际上并没有调整画布的大小。它所做的一切就是影响将来在画布上绘制的东西。 这是一个很好的例子 如您所见,原始矩形的大小保持不变,但第二个矩形的大小是原来的两倍

您需要直接更改画布的高度和宽度。像这样的东西应该可以

因此,我使用40004000画布绘制4x4像素,这样可以容纳1000像素,我更改了按钮,将画布的高度和宽度以及矩形的高度和宽度增加到35000x35000,矩形为35x35,但当我达到该高度时,它不会绘制矩形,它停止绘制11000像素以上的矩形1100或1100?你能给我一个片段或什么让我看一下吗?不知道你的意思。