问题一:在网上找了很久,也做了些小例子,但还是没有满意的答案
以下是我现在的方法winform程序
private void button1_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "图片文件|*.jpg;*.gif;*.png;*.bmp";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//下面是用粘贴的方法,其他的都正常,但是如果粘贴GIF动画的话就只有一帧图像,其他帧不会显示
Clipboard.SetDataObject(Image.FromFile(openFileDialog1.FileName), false);
RichTextBox1.Paste(); //下面是插入PictureBox的方法,所有的图片都能正常显示,但是插入PictureBox后RichTextBox就无法再输入文字了
//PictureBox pic = new PictureBox();
//pic.ImageLocation = openFileDialog1.FileName;
//RichTextBox1.Controls.Add(pic);
}
}
哪位有比较好的办法实现图文混排,或控件,请告知,谢谢问题二:如果RichTextBox图文混排成功的话,如何用Socket将内容发送至客户端并显示出来?
以下是我现在的方法winform程序
private void button1_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "图片文件|*.jpg;*.gif;*.png;*.bmp";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//下面是用粘贴的方法,其他的都正常,但是如果粘贴GIF动画的话就只有一帧图像,其他帧不会显示
Clipboard.SetDataObject(Image.FromFile(openFileDialog1.FileName), false);
RichTextBox1.Paste(); //下面是插入PictureBox的方法,所有的图片都能正常显示,但是插入PictureBox后RichTextBox就无法再输入文字了
//PictureBox pic = new PictureBox();
//pic.ImageLocation = openFileDialog1.FileName;
//RichTextBox1.Controls.Add(pic);
}
}
哪位有比较好的办法实现图文混排,或控件,请告知,谢谢问题二:如果RichTextBox图文混排成功的话,如何用Socket将内容发送至客户端并显示出来?
只会读一帧。问题二的话,
你把内容读进流,然后传过去。
Stream imageStreamSource = new FileStream("tulipfarm.gif", FileMode.Open, FileAccess.Read, FileShare.Read);
GifBitmapDecoder decoder = new GifBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);//然后 decoder.Frames集合里面就是所有的帧图像,类型为 BitmapSource型//需要 System.Windows.Media.Imaging 的 namespace
//在PresentationCore.dll库里面,加进来,需要你有 .net framework 3.0以上
//以下的,没办法
第二个问题,嘿嘿……
2.把richtextbox的rtf字符串传过去
1.自己根据语法去改动它的rtf
2.图片粘贴
3.如果是聊天框那样最简单去下个控件ExRichTextBox
http://www.codeproject.com/KB/edit/csexrichtextbox.aspx
I want to user chinese , how do this project support ,
it is show not right where is
modify
rtbox_MessageHistory.AppendTextAsRtf(" Local User Said\n\n",
new Font(this.Font, FontStyle.Underline | FontStyle.Bold), RtfColor.Blue, RtfColor.Yellow);to rtbox_MessageHistory.AppendTextAsRtf(" 中文问题 中文乱码问题 Local User Said\n\n",
new Font(this.Font, FontStyle.Underline | FontStyle.Bold), RtfColor.Blue, RtfColor.Yellow);
can't not display nomarl
Sign In·View Thread·PermaLink 2.00/5 (3 votes)
Re: how to support chinese language fan_chka 22:13 6 Jun '04
file: ExRichEditBox.csline:801
//_fontTable.Append(@"\fcharset0 ");_fontTable.Append(@"\fcharset134 ");ok!
Sign In·View Thread·PermaLink
完成这个功能马上结账