我有一個silverlight Canvas
它擁有圖像(多邊形)的圖像。我需要開發一個控件來放大和平移該工作區域內的畫布(單元內的Border
,截至目前爲止),如下所示。做這個的最好方式是什麼。有沒有我可以使用的圖書館?縮放和平移圖像畫布
我需要能夠將圖紙添加到縮放/平移畫布上。
http://i54.tinypic.com/1zbe7pf.png
我有一個silverlight Canvas
它擁有圖像(多邊形)的圖像。我需要開發一個控件來放大和平移該工作區域內的畫布(單元內的Border
,截至目前爲止),如下所示。做這個的最好方式是什麼。有沒有我可以使用的圖書館?縮放和平移圖像畫布
我需要能夠將圖紙添加到縮放/平移畫布上。
http://i54.tinypic.com/1zbe7pf.png
你可以嘗試創建一個用戶控件,基本上是一個帆布內的圖像,並公開兩個變換屬性來控制縮放和平移。 ScaleTransform可以處理縮放,而TranslateTransform可以處理平移。您可以從兩者創建CompositeTransform並將其指定爲畫布的RenderTransform。
您可以將縮放滑塊綁定到ScaleTransform,並處理鼠標事件以更改TranslateTransform。只要你獲得了相對於畫布本身的鼠標座標(即mouseEventArgs.GetPosition(canvas)
)。
您希望縮放滑塊實際放大畫布本身而不是圖像,以便畫布填充整個工作區域? – Jack
是的。因爲圖像上的標記應該到位。 – blitzkriegz
畫布是否填滿整個工作區域取決於使用縮放滑塊設置多少變焦。 – blitzkriegz