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发送。
真的抱歉 没有分了 只有四分 展开
这个长宽是原始图片的15倍,图中的数据是直接通过 string rtf=richtextbox.rtf获得的,怎么样获取到真实的图片大小,然后保存真个rtf文档最后用于socket发送。
真的抱歉 没有分了 只有四分 展开
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; //导致滚动条无法使用
}
{
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; //导致滚动条无法使用
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询