._.
2007-05-08 18:17:09 UTC
※ 引述《eliang ()》之銘言:
: 相信各位應該都有用過 urmap, GoogleMaps, 或 papago 吧?
: 它們都可以用滑鼠來平移 (pan) 和縮放 (zoom) 地圖,
: 現在我想用 java swing 寫出一個類似功能的東西,
: 平移對我來說沒問題,
: 但我寫出來的縮放, 並不是以畫面的中心做縮放,
我猜 (因為 Java2D 很久沒摸了)
你 g2d 只有"那條線跟那個圓", 而不是"整個畫面"
因此你直接對 g2d scale 的結果就是以那個"線圓"的群組為中心去縮放.
所以你可以在 zoom 之前偷偷把 g2d 搬個位置,
造成像是以畫面中心來縮放的假象.
當然也有別的做法啦.
我只是覺得如果只有一個 g2d.
這樣改起來可能比較快而已.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.64.149.2
: 相信各位應該都有用過 urmap, GoogleMaps, 或 papago 吧?
: 它們都可以用滑鼠來平移 (pan) 和縮放 (zoom) 地圖,
: 現在我想用 java swing 寫出一個類似功能的東西,
: 平移對我來說沒問題,
: 但我寫出來的縮放, 並不是以畫面的中心做縮放,
我猜 (因為 Java2D 很久沒摸了)
你 g2d 只有"那條線跟那個圓", 而不是"整個畫面"
因此你直接對 g2d scale 的結果就是以那個"線圓"的群組為中心去縮放.
所以你可以在 zoom 之前偷偷把 g2d 搬個位置,
造成像是以畫面中心來縮放的假象.
當然也有別的做法啦.
我只是覺得如果只有一個 g2d.
這樣改起來可能比較快而已.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.64.149.2