0

我正在尝试在 C# 中的富文本框中插入图像,但到目前为止我只是失败了。惨不忍睹。

这是我正在使用的代码:

Clipboard.SetImage(Image.FromFile(Application.StartupPath + @"\PIC\" + i + ".bmp"));
chat.Paste();

真正的问题是我无法将文本和图像都放在文本框中。在我复制图像后插入文本的那一刻,图像消失了。我无法找到解决方案

有人可以帮我吗?请???谢谢

4

3 回答 3

2
RichTextBox rtb = new RichTextBox();    
byte[] headerImage = (byte[])(dr["ImageData"]);
                string imageData = string.Empty;
                if (headerImage != null && headerImage.Length > 0)
                {
                    Bitmap bmp = new Bitmap(new MemoryStream(headerImage));
                    MemoryStream ms = new MemoryStream();
                    bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                    ms.Position = 0;   
                    imageData = @"{\pict\jpegblip\picw10449\pich3280\picwgoal9924\pichgoal1860\ " + BitConverter.ToString(ms.ToArray()).Replace("-", string.Empty).ToLower() + "}";

                    ms.Dispose();
                }
string finalrtfdata = rtb.Rtf;
                finalrtfdata = finalrtfdata.Replace("&ImageHeader&", imageData);
// finalrtfdata contain your image data along with rtf tags.
于 2017-10-17T15:46:34.903 回答
0

试试这个,你可以把它粘贴到你的代码中并调用它:在你的项目中放置一张图片来嵌入资源,并通过richtextbox调用这个方法。

    private void createImage(Control item)
    {   
        Hashtable image = new Hashtable(1);
        image.Add(item,yourproject.Properties.Resources.yourpicturename);
        Clipboard.SetImage((Image)image[item]);
        ((RichTextBox)item).Paste();
    }
于 2013-09-28T13:39:20.013 回答
-1
private static void createImage(RichTextBox item)
{
  var image = new Hashtable(1) { { item, Properties.Resources.yourimage } };
  Clipboard.SetImage((Image)image[item]);
  item.Paste();
}
于 2016-06-09T12:58:45.123 回答