canvas放大後,移動canvas使其在屏幕中央
通過拖拽鼠標畫方框的方式放大
### 下面是對x軸方向的代碼
my $canvasx = xxxxx; ## canvas畫布的x方向長度
my $canvas_point_x0 = $canvas->canvasx(x0); ## view window的(x0,y0)點處畫布上的x座標
my $canvas_point_x1 = $canvas->canvasx(x1); ## view window的(x1,y1)點處畫布上的x座標
my ($xoff_1, $xoff_2) = Tkx::SplitList($canvas->m_xview()); ## 返回畫布的偏移量,0-1的小數值
my $xoff_ratio = abs($canvas_point_x0 - $canvas_point_x1) / $canvasx; ## 計算畫布放大後需要移動的長度佔用總長度的比例,
$xoff_1 += $xoff_ratio; ## 把計算的比例與原偏移量相加
## 執行圖形區域放大的代碼
## 調整滾動條參數 scrollregion 的代碼
...
......
...
$canvas->m_xview("moveto", $xoff_1); ## 移動畫布,把剛剛放大部分置於view window中心。