我正在寻找一种将图像嵌入富文本框的方法。我的 rtf 文件是可移植的,其中包含图像和文本。即它可以从一台计算机移动到另一台计算机。因此,即使它在另一台机器上,用户也应该能够看到 rtf 文件(文本+图像)的内容。
现在我正在使用以下代码插入图像。
public static void ApplyImage(RichTextBox RichTextBoxControl)
{
try
{
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
dlg.DefaultExt = ".png";
dlg.Filter = "PNG Files (.png)|*.png|JPG Files (.jpg)|*.jpg|GIF Files (.gif)|*.gif";
Nullable<bool> result = dlg.ShowDialog();
if (result == true)
{
string fileName = dlg.FileName;
if (File.Exists(fileName))
{
BitmapImage bi = new BitmapImage(new Uri(fileName));
Image image = new Image();
image.Source = bi;
InlineUIContainer container = new InlineUIContainer(image);
Paragraph paragraph = new Paragraph(container);
RichTextBoxControl.Document.Blocks.Add(paragraph);
}
}
}
catch
{
throw;
}
}
但是这段代码不适合我的目的。因为嵌入的图像可能不在另一台机器上。所以它不会工作。我需要在 rtf 文件中嵌入图像或将图像存储为二进制文件。我到处搜索,没有运气。
任何人都可以帮助我吗?