原來你需要用ResizingAdorner
包裹你的圖片。
Marco Zhou(第二篇文章)可以在http://msdn.microsoft.com/en-us/library/ms771714%28loband%29.aspx找到這個代碼的一個漂亮和簡單的實現。
此ResizingAdorner
的代碼可以作爲http://msdn.microsoft.com/en-us/library/ms771714%28loband%29.aspx
這裏的MSDN樣本是一個VB.net等效代碼我現在用
Dim img As Image
Sub AddImg() Handles btnAddImage.Click
Dim dlg As New Microsoft.Win32.OpenFileDialog
dlg.Filter = "Image Files(*.*) | *.*"
If dlg.ShowDialog Then
img = New Image
AddHandler img.Loaded, AddressOf imgloaded
img.Source = New BitmapImage(New Uri(dlg.FileName, UriKind.Absolute)) With {.CacheOption = BitmapCacheOption.OnLoad}
Dim container As New BlockUIContainer(img)
rtb.Document.Blocks.Add(container)
End If
End Sub
Private Sub imgloaded(ByVal sender As Object, ByVal e As Windows.RoutedEventArgs)
Dim al As AdornerLayer = AdornerLayer.GetAdornerLayer(img)
If Not (al Is Nothing) Then
al.Add(New SDKSample.ResizingAdorner(img))
End If
End Sub
的ResizingAdorner
樣本將需要一些偉大的黑客來滿足我的需求,但是一個偉大的開始。
希望別人認爲這有用!
來源
2010-01-20 08:47:59
Jay
定義了SDKSample.ResizingAdorner()在哪裏?您提供的任何鏈接都沒有任何示例,因此您的回答沒有任何用處。 – Ortund 2017-07-13 08:53:52
對不起,如果它沒有幫助,但您是否嘗試安裝Windows SDK(請參閱[構建示例](https://msdn.microsoft.com/en-us/library/ms771714(loband).aspx#Anchor_1))。我真的不知道哪個版本,因爲這是大約7年前:( – Jay 2017-07-13 12:51:57
這就是爲什麼我評論。如果你的答案已經更完整,用戶現在來這個答案現在將更少地困惑在這裏做什麼。 – Ortund 2017-07-13 13:14:16