我可以"导入"图像(拾取文件)并将其包装在inlineUIContainer中的Border中 - 但是,当我保存文档时,图像消失(非常短的文件)。
或者我可以从剪贴板粘贴它(没有边框包装) - 然后它会随文档一起保存 - 但我无法控制显示...
导入图像(从文件中)的正确方法是什么,并保留实际的位图
在FlowDocument中,它可以与RichText的其余部分一起保存吗?
编辑:
我的问题似乎是,图像用URI表示(在XAML中)
- 不是实际的位图 - 所以如何正确导入/嵌入它?
这是我的导入代码:
string fileName = openFileDialog.FileName;
BitmapImage bitmap = new BitmapImage(new Uri(fileName, UriKind.Absolute));
Image image = new Image();
image.Source = bitmap;
image.Width = bitmap.Width;
image.Height = bitmap.Height;
Border border = new Border();
border.Background = Brushes.Blue;
border.BorderBrush = Brushes.Red;
border.BorderThickness = new Thickness(10);
border.Margin = new Thickness(10);
border.Padding = new Thickness(10);
border.Child = image;
InlineUIContainer box = new InlineUIContainer(border, rt.CaretPosition);
答案 0 :(得分:0)
尝试将图片封装在Viewbox而不是边框中,如下所示:
string fileName = openFileDialog.FileName;
BitmapImage bitmap = new BitmapImage(new Uri(fileName, UriKind.Absolute));
BlockUIContainer blockUI = new BlockUIContainer();
Image img = new Image();
img.Source = bitmap;
Viewbox vb = new Viewbox();
vb.StretchDirection = StretchDirection.DownOnly;
vb.Stretch = Stretch.Uniform;
vb.HorizontalAlignment = HorizontalAlignment.Center;
vb.VerticalAlignment = VerticalAlignment.Center;
vb.Child = img;
blockUI.Child = vb;
rt.Document.Blocks.Add(blockUI);