0

最初の幅の私のdivコンテンツキャンバス:1300、高さ= 500

次に、div のサイズを width = 800、 height = 500に変更します

そして、キャンバスのサイズを width = 800、 height = 500に変更して、ウィンドウを修正します

ただし、キャンバスの一部の要素は非表示になっています (キャンバスの幅が 800px になったため)

だから私は setViewBox を使用してズームし、新しい幅、高さの幅を修正します

結果:マウスをドラッグしても要素が固定されません(setViewBoxの幅と高さを間違って計算していると思います)

その他の質問: 要素を下にドラッグしたときにキャンバスの高さを自動拡張する方法はありますか?

手伝ってくれてありがとう :)

4

1 に答える 1

0

このコードを試してください (jquery + raphael js 2.x を含める必要があります):

var original_width = 777;
var original_height = 667;
var zoom_width = map_width*100/original_width/100;
var zoom_height = map_height*100/original_height/100;
if(zoom_width<=zoom_height)
   zoom = zoom_width;
else
   zoom = zoom_height;
rsr.setViewBox($("#"+map_name).offset().left, $("#"+map_name).offset().top, (map_width/zoom), (map_height/zoom));
于 2013-05-27T14:32:36.213 に答える