Пример #1
0
 /// <summary>
 /// 添加一条图片消息
 /// </summary>
 public static void AppendPicMessage(this Form1 f1, ImgMesKey key)
 {
     if (key.isPublic)
     {
         KeyData.StaticInfo.ClassPanel.AppendPicMessage(key.Img, key.User, key.Type);
     }
     else
     {
         key.User.TalkPanel.AppendPicMessage(key.Img, key.User, key.Type);
     }
 }
Пример #2
0
        private void bt_Send_Click(object sender, EventArgs e)
        {
            string text = this.tb_Text.Text;

            TextMesKey txtmes = new TextMesKey()
            {
                Mes      = text,
                User     = this.user,
                Type     = MsType.本地消息,
                isPublic = this.user.IsPub
            };
            ImgMesKey imgmes = new ImgMesKey()
            {
                User     = user,
                Img      = this.pic_img.Image.Clone() as Image,
                Type     = MsType.本地消息,
                isPublic = this.user.IsPub
            };

            if (text.Trim().Length > 0)
            {
                if (this.AddText != null)
                {
                    this.AddText.Invoke(txtmes);
                }
            }
            if (this.AddImage != null)
            {
                this.AddImage.Invoke(imgmes);
            }

            if (this.user.IsPub)
            {
                if (text.Trim().Length > 0)
                {
                    Transmitters.Sender.SendTo(text, false);
                }
                Transmitters.Sender.SendImgToAll(this.pic_img.Image.Clone() as Image);
            }
            else
            {
                if (text.Trim().Length > 0)
                {
                    Transmitters.Sender.SendTo(user.IP, text);
                }
                Transmitters.Sender.SendImgTo(user.IP, this.pic_img.Image.Clone() as Image);
            }
            this.Close();
        }
Пример #3
0
        /// <summary>
        /// 发送图片
        /// </summary>
        public static void SendPicInfo(this Form1 f1, Image img)
        {
            long len = Method.ImageToBytes(img).Length;

            if (img.Size.Width > 5000 || img.Size.Height > 5000 || len >= 1024 * 1024 * 3)
            {
                Method.ShowPrompt("图片尺寸过大或文件大小过大,不支持发送", 1000);
                return;
            }
            ImgMesKey mes = new ImgMesKey()
            {
                User     = f1.NowUserData,
                Img      = img,
                Type     = MsType.本地消息,
                isPublic = false
            };
            var f = new Image_Send(f1.NowUserData, img);

            f.AddImage += e => f1.AppendPicMessage(e);
            f.AddText  += e => f1.AppendMessage(e);
            f.ShowDialog();
            f.Dispose();
        }