/// <summary> /// 添加GIF图片控件到richtextbox /// </summary> /// <param name="MD5">gifID</param> /// <param name="image"></param> /// <returns>返回gif控件</returns> public IMLibrary3.MyPicture addGifControl(string MD5, Image image) { MyPicture pic = new MyPicture(); if (Pictures.ContainsKey(MD5)) { MyPicture exPic = null; Pictures.TryGetValue(MD5, out exPic); pic.Image = exPic.Image; } else { pic.Image = image; Pictures.Add(MD5, pic); } panelGif.Controls.Add(pic); pic.MD5 = MD5; pic.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; pic.BackColor = this.BackColor; pic.Invalidate(); RichEditOle.InsertControl(pic); Invalidate(); return(pic); }
/// <summary> /// 获得图片控件 /// </summary> /// <param name="MD5">图片MD5值</param> /// <returns></returns> public MyPicture GetPicture(string MD5) { MyPicture exPic = null; if (Pictures.ContainsKey(MD5)) { Pictures.TryGetValue(MD5, out exPic); } return(exPic); }
/// <summary> /// 获得richtextBox中现有的图片集合 /// </summary> /// <returns></returns> public List <MyPicture> GetExistGifs() { List <MyPicture> tempGifs = new List <MyPicture>(); REOBJECT reObject = new REOBJECT(); for (int i = 0; i < this.GetRichEditOleInterface().GetObjectCount(); i++) { this.GetRichEditOleInterface().GetObject(i, reObject, GETOBJECTOPTIONS.REO_GETOBJ_ALL_INTERFACES); object t = Marshal.GetObjectForIUnknown(reObject.poleobj); MyPicture pic = t as MyPicture; if (pic != null) { pic.Pos = reObject.cp; pic.IsSend = true;//标识发送当前图片 tempGifs.Add(pic); } } return(tempGifs); }
/// <summary> /// 获得richtextBox中现有的图片集合 /// </summary> /// <returns></returns> public string GetImageInfo() { string imageInfo = ""; //try { REOBJECT reObject = new REOBJECT(); for (int i = 0; i < GetRichEditOleInterface().GetObjectCount(); i++) { this.GetRichEditOleInterface().GetObject(i, reObject, GETOBJECTOPTIONS.REO_GETOBJ_ALL_INTERFACES); object t = Marshal.GetObjectForIUnknown(reObject.poleobj); MyPicture pic = t as MyPicture; if (pic != null) { imageInfo += reObject.cp.ToString() + "," + pic.MD5 + "|"; } } } //catch { } return(imageInfo); }
/// <summary> /// 添加GIF图片控件到richtextbox /// </summary> /// <param name="MD5">gifID</param> /// <param name="image"></param> /// <returns>返回gif控件</returns> public IMLibrary3.MyPicture addGifControl(string MD5, Image image) { MyPicture pic = new MyPicture(); if (Pictures.ContainsKey(MD5)) { MyPicture exPic = null; Pictures.TryGetValue(MD5, out exPic); pic.Image = exPic.Image; } else { pic.Image = image; Pictures.Add(MD5, pic); } panelGif.Controls.Add(pic); pic.MD5 = MD5; pic.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; pic.BackColor = this.BackColor; pic.Invalidate(); RichEditOle.InsertControl(pic); Invalidate(); return pic; }