我是从客户端接收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 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器