我是从客户端接收byte[],然后进行储存,不停地接收和存储,存储速度可能较快、量较大,
但是如果在Image.Save()方法这儿打断点,进入断点后存储的图片是正常的,不进入断点,
存下来的图像都是灰度或者像素错位的,新手求帮助!!!
C# byte数组转成JPG图像,存储的图像,像素有错位、灰度的情况,该如何解决?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- 小明_PlayBoy 2016-10-25 06:54关注
有可能是传输的速度太快,而存储的湿度跟不上,产生的问题。我给你一段代码,先吧接收到的图片存到队列,再从队列读取!可以试试!
private Queue MsgQueue;
MsgQueue.Enqueue(RcvBytes);
//可以启动一个线程,运行这个方法
private void MsgDoWork()
{
while (true)
{
if (MsgQueue.Count > 0) WorkDetail((byte[])MsgQueue.Dequeue()); else Thread.Sleep(100);
}
}
private void WorkDetail(byte[] RcvBytes)
{
//在这个方法中进行图片的保存
}
你这样试一下!解决 无用评论 打赏 举报
悬赏问题
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
- ¥15 数据可视化Python
- ¥15 要给毕业设计添加扫码登录的功能!!有偿
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘