jay*_*jay 4 wpf rtf resize image richtextbox
在WPF中的RichTextBox控件中是否有一个方法允许用户调整插入的图像的大小,或者您是否必须为此设计自己的方法.
我想要实现的目标如下所示,写字板的屏幕截图正在做我想要的:
笔记:
\picscalex100和\picscaley100(其中100表示缩放到100%).所以是的,有没有正确的方法或技巧呢?有关如何编程的任何建议吗?或者我完全看错了控制?
原来你需要将你的图像包装成一个ResizingAdorner.
可以在http://msdn.microsoft.com/en-us/library/ms771714%28loband%29.aspx上找到这个代码的美丽而简单的实现(Marco post)(第二篇文章).
有关此代码的信息,ResizingAdorner请参见MSDN示例,网址为:http://msdn.microsoft.com/en-us/library/ms771714%28loband%29.aspx
这是我正在使用的代码的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
Run Code Online (Sandbox Code Playgroud)
该ResizingAdorner示例将需要一些很好的黑客来满足我的需求,但这是一个很好的开始.
希望别人觉得这很有用!