こんにちは誰かが私を助けることができれば嬉しいです。私は正常に動作しているd3.jsとズームパンをしました:d3.jsで問題をドラッグ
function zoom() {
var e = d3.event
var scale = d3.event.scale;
canvas.save();
canvas.clearRect(0, 0, width, height);
canvas.beginPath();
canvas.translate(e.translate[0], e.translate[1]);
canvas.scale(scale, scale);
draw();
canvas.restore();
}
は、私が唯一のキャンバス領域内の画像を持っていると思ったし、私はこのようにそれをやった:ここ
function zoom() {
var scale = d3.event.scale;
var e = d3.event,
tx = Math.min(0, Math.max(e.translate[0], width - imgBG.width * e.scale)),
ty = Math.min(0, Math.max(e.translate[1], height - imgBG.height * e.scale))
canvas.save();
canvas.clearRect(0, 0, width, height);
canvas.beginPath();
canvas.translate(tx, ty);
canvas.scale(scale, scale);
draw();
canvas.restore();
}
はAです作業コード:https://jsfiddle.net/ux7gbedj/
問題は、例えば、フィドルがロードされ、左から右にドラッグを開始すると、2回、イメージがうまく動いていないが、次に試してみると右から左へドラッグする私は少なくとも3回ドラッグしてagを動かす必要があります私は非常に正しいことをやっていないと思います。