我现在有一段持续性的数据(数据里面的每一段数据都是独立的) 转换成图片然后用Picturebox的方式
while(ture)
{
this.picturebox.image= 图片数据流
}我做过用GDI 画图的方法做过,不过听别人说 这样的持续性的数据 用画图的方法放到picturebox 显示出来效率不高而且 还经常出现 资源产生冲突我就想到了用图片数据流的方式 可是 自己又不会希望有会的同仁 帮帮我
我把我的全部分数都给你 虽然不多 但也有40分
while(ture)
{
this.picturebox.image= 图片数据流
}我做过用GDI 画图的方法做过,不过听别人说 这样的持续性的数据 用画图的方法放到picturebox 显示出来效率不高而且 还经常出现 资源产生冲突我就想到了用图片数据流的方式 可是 自己又不会希望有会的同仁 帮帮我
我把我的全部分数都给你 虽然不多 但也有40分
解决方案 »
- C# datatable 分组后排名
- webbrowser简单html标签导出word的时候仍然为html标签
- .net中的SqlCommand 的方法ExecuteNonQuery() 在执行查询的Sql语句时为什么总是返回-1,应该是有记录的啊。。
- 谁能给出一个完整的在IIS中承载WCF服务并且可实现跨计算机(相同工作组)运行且能向客户端返回数据集的例子
- BackGroudWorker控件的问题!
- 请教有关大图片显示问题
- 问c#调用dll的问题(请Knight94(愚翁)、kssys和各位高手看看 )
- C#操作EXCEL 使用Worksheet.Copy出现 HRESULT:0x800A03EC
- 如何在txt文件中定位某字符串,然后在字符串后加入字符
- 如何改变某行的背景色?
- c# richTextBox 选中取消问题
- DataView怎样取得和改变CheckBox值的问题
this.picturebox.image=bt;
public event SPicData ShowPicData;
public delegate void SPicData(Bitmap bp);
#region 接收流并转图片
/// <summary>
public void ResevData()
{
//声明字节数组,每次接收数据的长度为4字节获得图片数据包长度
byte[] recvBytes;
byte[] recvBytesData ;
//返回实际接收内容的字节数
int bytes = 0;
int picDataLength = 0;
//循环读取,直到接收完所有数据
while (true)
{
if (socket.Available != 0)
{
recvBytes = new byte[40960];//数据接收缓冲40k
bytes = socket.Receive(recvBytes);
//读取完成后退出循环
if (bytes <= 0) continue;
else
{
Buffer.BlockCopy(recvBytes, 0, recvBytesData, 0, 0);
picDataLength = BitConverter.ToInt32(recvBytes, 0);
//如果接收到的数据长度和数据包前4字节给出的数据长度不一致 则丢弃该条数据
if (picDataLength != bytes )
{
recvBytes = null;
recvBytesData = null;
bytes = 0;
continue;
}
else
{
recvBytesData = new byte[picDataLength];
Buffer.BlockCopy(recvBytes, 0, recvBytesData, 0, picDataLength); MemoryStream ms = new MemoryStream(recvBytesData);
bt = new Bitmap(ms);
ShowPicData(bt); }
recvBytes = null;
recvBytesData = null;
bytes = 0;
}
}
}
}
#endregion