在我编写的.NET CF应用程序中,功能之一是从远程摄像机获取帧。帧以单个jpeg图像的形式获取,并在可用时显示在屏幕上。

这是一个足够好的解决方案,但我不喜欢使用Image构造函数将流转换为Bitmap()对象所需的时间远比下载流所需的时间长得多的事实。 。

当我浏览一些博客以搜索有关此问题时,我发现一些开发人员正在使用Image.FromStream()方法,该方法的validateImageData标志似乎控制着一些验证代码。如果validateImageData为false,则转换速度将大大加快。

好,我以为..但是紧凑框架没有实现这种方法!

任何人都知道如何解决它,或者至少如何在没有不必要的延迟的情况下将流转换为Image吗?

最佳答案

不确定这是否有帮助,但是OpenNETCF.Drawing.Imaging具有用于从流中读取图像的类,但是它们是IImage包装的com对象。然后,您可以使用IImage.Draw将其绘制到位图上。它还有一个GetThumbnail方法,我用它来获取设备上大jpeg的缩放图像。

Here是Alex Feinman的博客文章。

09-26 08:45