在RichTextBox中插入图像以及文本C#

时间:2013-09-28 12:50:57

标签: c# image text insert richtextbox

我正在尝试在C#中的富文本框中插入图像,但到目前为止我只是失败了。这次得分。

这是我正在使用的代码:

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

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

有人可以帮我这个吗?请??? 感谢

3 个答案:

答案 0 :(得分:1)

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.

答案 1 :(得分: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();
    }

答案 2 :(得分:-1)

private static void createImage(RichTextBox item)
{
  var image = new Hashtable(1) { { item, Properties.Resources.yourimage } };
  Clipboard.SetImage((Image)image[item]);
  item.Paste();
}