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
Canvas 缩放后paperjs添加点出现问题_Canvas_Zooming_Point_Paperjs - Fatal编程技术网

Canvas 缩放后paperjs添加点出现问题

Canvas 缩放后paperjs添加点出现问题,canvas,zooming,point,paperjs,Canvas,Zooming,Point,Paperjs,我使用paperjs在画布上使用图像注释。当我在图像上注释而不缩放时,它工作得非常完美 path = new p.Path(); path.selected = false; path.strokeColor = update.color; path.strokeWidth = scope.lineWidth;

我使用paperjs在画布上使用图像注释。当我在图像上注释而不缩放时,它工作得非常完美

                    path = new p.Path();
                    path.selected = false;
                    path.strokeColor = update.color;
                    path.strokeWidth = scope.lineWidth;
                    path.strokeCap = scope.strokeCap;
                    path.strokeJoin = scope.strokeJoin;
                    path.uuid = update.uuid;
                    var start = new p.Point(update.fromX, update.fromY);                        
                    path.moveTo(start);
                    p.view.draw();
但在使用paper.view.zoom=2缩放后,我试图在画布上画一条线,但线对齐方式与鼠标点不匹配

如果我缩放到初始点,那么它是正确对齐的。请让我知道如何解决此问题

如何使用默认坐标加载?我的意思是现在我已经平移画布并重新加载。我必须用旧坐标来显示画布。可能吗

toolPan = new p.Tool();
                        toolPan.onMouseDrag = function (event) {
                            if(panCanvasStatus==1){
                                var a = event.downPoint.subtract(event.point);
                                a = a.add(p.view.center);
                                p.view.center = a;                                 
                                 update.pan=JSON.stringify(event);
                                sendUpdate('otWhiteboard_panupdate', update);
                            }
                        }

您提供的代码片段很难找到问题所在,但下面是一个示例,演示了您所描述内容的可能实现。
单击画布向路径添加点,然后单击按钮放大或缩小

//设置文件
纸张。安装(窗口);
paper.setup(document.getElementById('canvas');
//画图
var raster=新光栅({
资料来源:'https://picjumbo.com/wp-content/uploads/vineyards-on-italian-coast-free-photo-DSC04256-1080x720.jpg',
onLoad:function(){
this.fitBounds(view.bounds.scale(0.8));
}
});
//初始路径
var路径=新路径({
分段:[视图.中心],
strokeColor:'红色',
冲程宽度:5
});
//鼠标按下时。。。
view.onMouseDown=函数(事件){
//…将向下点添加到路径
var point=event.point;
路径。添加(点);
};
//按一下按钮。。。
$(“#放大”)。单击(函数(){
//…放大
view.zoom*=1.1;
});
$(“#缩小”)。单击(函数(){
//…缩小
view.zoom*=0.9;
});
html,
身体{
保证金:0;
溢出:隐藏;
身高:100%;
}
帆布{
宽度:100%;
身高:100%;
}
#放大{
位置:固定;
顶部:10px;
左:10px;
}
#缩小{
位置:固定;
顶部:35px;
左:10px;
}

放大

缩小
很难找到您提供的代码片段的问题,但下面是一个示例,演示了您所描述内容的可能实现。
单击画布向路径添加点,然后单击按钮放大或缩小

//设置文件
纸张。安装(窗口);
paper.setup(document.getElementById('canvas');
//画图
var raster=新光栅({
资料来源:'https://picjumbo.com/wp-content/uploads/vineyards-on-italian-coast-free-photo-DSC04256-1080x720.jpg',
onLoad:function(){
this.fitBounds(view.bounds.scale(0.8));
}
});
//初始路径
var路径=新路径({
分段:[视图.中心],
strokeColor:'红色',
冲程宽度:5
});
//鼠标按下时。。。
view.onMouseDown=函数(事件){
//…将向下点添加到路径
var point=event.point;
路径。添加(点);
};
//按一下按钮。。。
$(“#放大”)。单击(函数(){
//…放大
view.zoom*=1.1;
});
$(“#缩小”)。单击(函数(){
//…缩小
view.zoom*=0.9;
});
html,
身体{
保证金:0;
溢出:隐藏;
身高:100%;
}
帆布{
宽度:100%;
身高:100%;
}
#放大{
位置:固定;
顶部:10px;
左:10px;
}
#缩小{
位置:固定;
顶部:35px;
左:10px;
}

放大

缩小
在这里,您可以下载我的代码并运行test.html一次。我已经按照你的建议更新了。但鼠标点不等于缩放后的添加点。对不起,请查看演示。html@murali-奎师那,我更新了我的答案来解决你的具体问题。非常感谢@saseni。它工作得很好。非常感谢。@Sasensi-如何始终将下面的图像加载到点?我在加载光栅图像后添加了这个。光栅。插入下方(路径);但它只在下面的最后一个绘图点,您可以下载我的代码并运行test.html一次。我已经按照你的建议更新了。但鼠标点不等于缩放后的添加点。对不起,请查看演示。html@murali-奎师那,我更新了我的答案来解决你的具体问题。非常感谢@saseni。它工作得很好。非常感谢。@Sasensi-如何始终将下面的图像加载到点?我在加载光栅图像后添加了这个。光栅。插入下方(路径);但它只会低于最后一个抽签点