C# 使用C语言将MediumBlob数据转换为位图图像#

C# 使用C语言将MediumBlob数据转换为位图图像#,c#,mysql,bitmap,emgucv,C#,Mysql,Bitmap,Emgucv,我正在尝试将MySQL中的mediumblob数据转换为位图图像,但我无法完成。我得到一个错误,它是 参数无效 这是我的c#代码: 有人能帮我吗。谢谢。当您这样做时: MemoryStream ms = new MemoryStream(buffer); ms.Write(buffer, 0, buffer.Length); 首先用缓冲区初始化内存流,然后用相同的数据覆盖它——将当前位置设置为流的末尾。当Bitmap类试图从中读取时,它不会得到任何结果 只需跳过Write调用,内存流就会从

我正在尝试将MySQL中的mediumblob数据转换为位图图像,但我无法完成。我得到一个错误,它是

参数无效

这是我的c#代码:

有人能帮我吗。谢谢。

当您这样做时:

 MemoryStream ms = new MemoryStream(buffer);
 ms.Write(buffer, 0, buffer.Length);
首先用缓冲区初始化内存流,然后用相同的数据覆盖它——将当前位置设置为流的末尾。当
Bitmap
类试图从中读取时,它不会得到任何结果

只需跳过
Write
调用,内存流就会从字节数组提供数据

另外,我建议在内存流和读卡器周围使用
块。而且,如果您的
图像
类没有保留对
位图
的引用,您应该立即处理它。

当您这样做时:

 MemoryStream ms = new MemoryStream(buffer);
 ms.Write(buffer, 0, buffer.Length);
首先用缓冲区初始化内存流,然后用相同的数据覆盖它——将当前位置设置为流的末尾。当
Bitmap
类试图从中读取时,它不会得到任何结果

只需跳过
Write
调用,内存流就会从字节数组提供数据


另外,我建议在内存流和读卡器周围使用
块。而且,如果你的
图像
类没有保留对
位图
的引用,你应该立即处理它。

即使在注释掉它之后,我仍然会得到同样的错误。。。这是我的全部,你在那个字节数组里到底有什么?完整的bmp/png/jpg还是原始图像数据?如果它只是没有标题的原始数据
Bitmap
将无法知道如何处理它。你知道它的格式和大小吗?如果只是一个原始的字节数组,就没有办法知道了。您需要像素格式、每像素位数、行跨距和图像的尺寸才能继续。如果你能显示生成和保存图像的代码,我们可能会有所帮助。我已经用图像插入方法编辑了我的问题,顺便说一句,图片格式是JPEG,即使在注释了它之后,我仍然会收到相同的错误。。。这是我的全部,你在那个字节数组里到底有什么?完整的bmp/png/jpg还是原始图像数据?如果它只是没有标题的原始数据
Bitmap
将无法知道如何处理它。你知道它的格式和大小吗?如果只是一个原始的字节数组,就没有办法知道了。您需要像素格式、每像素位数、行跨距和图像的尺寸才能继续。如果你能显示生成和保存图像的代码,我们可能会提供帮助。我已经用图像插入方法编辑了我的问题,顺便说一句,图片格式是jpeg
 MemoryStream ms = new MemoryStream(buffer);
 ms.Write(buffer, 0, buffer.Length);