Javascript canvas如何在paperJs中使用pathData方法实现响应?
方法A:-我在文档中导入了一个Javascript canvas如何在paperJs中使用pathData方法实现响应?,javascript,html,canvas,svg,paperjs,Javascript,Html,Canvas,Svg,Paperjs,方法A:-我在文档中导入了一个SVG对象,当我们重新调整窗口大小时,SVG将分别重新调整大小 方法B:-但我在paperJs中导入的作为pathData方法的同一对象,并重新调整窗口的大小画布对象的大小与方法A中的大小不同 我已经给出了画布大小是css使用的窗口的全宽,但在画布中对象无法应用 canvas { width: 100%; height: 100% } 我应该如何使画布对象具有响应性?非常感谢您的帮助,提前谢谢。我终于找到了解决办法 我使用了他们自己的选项,这是paperJ
SVG
对象,当我们重新调整窗口大小时,SVG
将分别重新调整大小
方法B:-但我在paperJs中导入的作为pathData方法的同一对象,并重新调整窗口的大小画布对象的大小与方法A中的大小不同
我已经给出了画布大小是css使用的窗口的全宽,但在画布中对象无法应用
canvas {
width: 100%;
height: 100%
}
我应该如何使画布对象具有响应性?非常感谢您的帮助,提前谢谢。我终于找到了解决办法 我使用了他们自己的选项,这是paperJs中我最喜欢的选项之一。我在这里也分享了我的另一个解决方案。我希望它能帮助你:) 解决方案1:与fitBounds选项一起使用
window.addEventListener("resize", myFunction);
myFunction();
function myFunction() {
path.fitBounds(view.bounds);
}
解决方案2:与尺寸计算一起使用
window.addEventListener("resize", myFunction);
myFunction();
function myFunction() {
redrawCanvas();
}
function redrawCanvas(){
var linePropWidth = view.bounds.width, //2000 is actual width proportion
lineProHeight = linePropWidth / 6.5; //100 is actual height proportion
path.strokeWidth = lineProHeight/40; //dynamic stroke size
path.bounds.width = linePropWidth;
path.bounds.height = lineProHeight;
path.bounds.x = view.bounds.x;
path.bounds.y = view.bounds.y + lineProHeight*2;
}
为画布元素添加一个
resize
属性-在paper.js上有很多这样的帖子forums@NicholasKyriakides抱歉,问题已编辑。不仅是画布,实际上它在pathData方法(导入的svg)中是如何实现的?检查视图。边界
大小,并在调整窗口大小时相应地缩放路径。你能举个例子吗?