C#richtextbox中图片大小的问题 rtf中

我的目的是获取整个richtextbox中的rtf数据然后用于socket发送,但是黏贴进图片后通过richtextbox.rtf后这个东西会很大比如stringrtf=... 我的目的是获取整个richtextbox中的rtf数据 然后用于socket发送,但是黏贴进图片后 通过richtextbox.rtf后这个东西会很大 比如 string rtf=richtextbox.rtf。这个rtf会相当长,直接保存到txt里面也会很大,哪怕是单纯的只有一张长款各10像素的图片 也会产生好几十kb的大小。还有就是 如图

这个长宽是原始图片的15倍,图中的数据是直接通过 string rtf=richtextbox.rtf获得的,怎么样获取到真实的图片大小,然后保存真个rtf文档最后用于socket发送。
真的抱歉 没有分了 只有四分
展开
 我来答
ao520ru
推荐于2016-01-31
知道答主
回答量:16
采纳率:0%
帮助的人:10.2万
展开全部
private void FPicture_Load(object sender, EventArgs e)
{
PictBox.Rtf = PicBoxes.Rtf;
int ImgStartIndex = PictBox.Rtf.IndexOf("\\picw"); //获取字符串的位置索引
int ImgEnd1Index = PictBox.Rtf.IndexOf("\\pich"); //获取字符串的位置索引
int ImgEnd2Index = PictBox.Rtf.IndexOf("\\picwgoal");//获取字符串的位置索引之间的数据
string a = PictBox.Rtf.Substring(ImgStartIndex + 5, ImgEnd1Index - ImgStartIndex - 5);
string b = PictBox.Rtf.Substring(ImgEnd1Index + 5, ImgEnd2Index - ImgEnd1Index - 5);
int c = Convert.ToInt16(a);
c = c / 26; //与正常像素大约26倍关系,goal的大约为15被关系
int d=Convert.ToInt16(b);
d=d/26;
if (c>0&&d>0) //图片太大会产生负值,大图使用滚动条形式
{
PictBox.Width = c;
PictBox.Height = d;
this.Width = c+50;
this.Height = d+50;
}
//PictBox.Enabled = false; //导致滚动条无法使用
}
百度网友ce9f999
2013-05-30 · TA获得超过406个赞
知道小有建树答主
回答量:540
采纳率:100%
帮助的人:545万
展开全部
使用byte数组来存储要发送的内容,因为你把内容显示出来也是没有意义的,直接在后台操作呗。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式