gpt4 book ai didi

c# - 从 RichTextBox 中提取图像

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:46 26 4
gpt4 key购买 nike

我有一个应用程序,用户可以在其中将图像插入到 RichTextBox 中。我希望能够用一些标记替换 RTF 中的所有图像,并将图像存储在单独的文件中。稍后我会将图像重新注入(inject) RTF。

我已经设法让插入正常工作,但最终还是通过剪贴板粘贴它们(非常像 Insert an image into RTF document in C#)。

现在的麻烦是如何提取图像。

  1. 如何以编程方式选择 RichTextBox 中的图像?

  2. 我必须通过剪贴板返回吗?像这样的东西:

    IDataObject data = Clipboard.GetDataObject();
    Clipboard.Clear();

    _RichTextBox.Select(/* The image */);
    _RichTextBox.Copy();

    Image img = Clipboard.GetImage();
    img.Save("myImage.png", System.Drawing.Imaging.ImageFormat.Png);

    Clipboard.Clear();
    Clipboard.SetDataObject(data);
  3. 有没有不需要通过剪贴板的更优雅的解决方案?

感谢您的帮助!

最佳答案

一张图片看起来像这样:

{\*\shppict {\pict \emfblip ..... }}{\nonshppict {\pict ....}}

甚至

{\pict ...}

可以查看包含图片的文档的rtf,写一个正则表达式来提取图片(用token代替)。另一个正则表达式替换可以恢复图像。

关于c# - 从 RichTextBox 中提取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6376897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com