Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.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 缩放画布而不重新绘制_Javascript_Html_Image_Canvas - Fatal编程技术网

Javascript 缩放画布而不重新绘制

Javascript 缩放画布而不重新绘制,javascript,html,image,canvas,Javascript,Html,Image,Canvas,我有一张画布,上面有一张图片和一些画的线。如何缩放和移动所有画布,而不仅仅是图像? 我现在使用drawImage方法进行缩放,但它只缩放图像,而不缩放绘制的线条。是否可能重复您的问题是如何使画布元素本身变大,还是如何保持相同大小的画布元素,但“放大”图像+图形?如果“缩放”,则必须将现有图像+图形保存到另一个画布(或图像),然后缩放并最终从保存的源重新绘制图像+图形。@标记和调整大小时,应采用相同的原则,但他应在调整大小的画布上重新绘制。(建议的dupe的答案是使用CSS,IMO不是最好的方式)

我有一张画布,上面有一张图片和一些画的线。如何缩放和移动所有画布,而不仅仅是图像?
我现在使用drawImage方法进行缩放,但它只缩放图像,而不缩放绘制的线条。

是否可能重复您的问题是如何使画布元素本身变大,还是如何保持相同大小的画布元素,但“放大”图像+图形?如果“缩放”,则必须将现有图像+图形保存到另一个画布(或图像),然后缩放并最终从保存的源重新绘制图像+图形。@标记和调整大小时,应采用相同的原则,但他应在调整大小的画布上重新绘制。(建议的dupe的答案是使用CSS,IMO不是最好的方式)。@Kaido,好的观点……调整画布元素的大小时,同样的原则也适用,因为这样做会自动擦除画布内容(因此内容必须保存在某个地方,然后重新绘制)。我也不敢用CSS来调整画布的大小。我之所以退缩,是因为不成比例地缩放会扭曲内容,而且如果要绘制额外的线条,则必须重新计算这些新的线条宽度,否则它们将与原始线条宽度不匹配。我可能会保存原始线条的坐标并重新绘制它们——即使问题不要求重新绘制。