WPF 中的 RichTextBox 控件中是否有一种方法允许用户调整插入图像的大小,或者您是否必须为此设计自己的方法。
我想要实现的目标如下所示,是写字板执行我想要的操作的屏幕截图:
Notes:
- 以纯文本形式读取 RTF 文件,我发现与图像大小相关的控制标签是
\picscalex100
and \picscaley100
(其中 100 表示缩放至 100%)。
那么是的,有没有适当的方法或技巧呢?关于如何进行编程有什么建议吗?或者我完全看错了控件?
结果你需要将你的图像包裹在一个ResizingAdorner
.
可以在以下位置找到此代码的漂亮且简单的实现http://msdn.microsoft.com/en-us/library/ms771714%28loband%29.aspx作者:Marco Zhou(第二篇文章)。
这个的代码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
The ResizingAdorner
示例将需要一些伟大的黑客才能满足我的需求,但这是一个多么好的开始。
希望其他人发现这很有用!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)