平移图像时将其从画布边界区域拖出的问题(KonvaJS Zoom / Pan)

复制问题:

我正在使用KonvaJS实现缩放/平移功能。无论是缩放图像还是缩小图像,平移都处于活动状态;平移图像时,它会拖离画布边框。

您可以通过此处实现的内容来体验我所描述的内容: My-CodePen-Sample

$('#zoomIn').on('click',function (e) {
e.preventDefault();
imgObj.draggable = true;

var oldScale = stage.scaleX();

var mousePointTo = {
  x: stage.width() / 2 / oldScale - stage.x() / oldScale,y: stage.height() / 2 / oldScale - stage.y() / oldScale
};

var newScale = oldScale * scaleBy;

stage.scale({ x: newScale,y: newScale });
var newPos = {
  x:
    -(mousePointTo.x - stage.width() / 2 / newScale) *
    newScale,y:
    -(mousePointTo.y - stage.height() / 2 / newScale) *
    newScale
};
stage.position(newPos);
stage.batchDraw();
})

我的需求已解决:

但是,我仅需要在缩放图像时才需要激活平移功能,并且在平移画布时图像边界也仅限于画布。

您可以在这里体验我要求KonvaJS应用的内容: PinchZoomer

snmpnms 回答:平移图像时将其从画布边界区域拖出的问题(KonvaJS Zoom / Pan)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3141670.html

大家都在问