首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >紧凑框架- Image.FromStream (流、布尔、布尔)的任何实现?

紧凑框架- Image.FromStream (流、布尔、布尔)的任何实现?
EN

Stack Overflow用户
提问于 2008-11-12 21:27:37
回答 2查看 3.1K关注 0票数 4

在我编写的一个.NET CF应用程序中,其中一个特性是从远程摄像机获取帧。帧作为单个jpeg图像获取,并在可用时显示在屏幕上。

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

当我浏览一些博客来搜索这个问题时,我发现一些开发人员正在使用Image.FromStream()方法,该方法有一个validateImageData标志,它似乎控制了一些验证代码。当validateImageData为false时,转换速度会大大加快。

很好,我想.但是没有实现这个方法!

有人知道如何绕过它,或者至少知道如何在没有不必要的延迟的情况下将流转换为Image

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-01 23:43:36

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

这里是亚历克斯·芬曼( Alex )的博客文章。

票数 1
EN

Stack Overflow用户

发布于 2008-11-12 23:38:33

如果JPEG的尺寸很大(比如1200 x 1600或什么的),那么您的设备上使用bitmap构造函数的速度问题之一就是必须在内存中创建位图大小(位图也是1200 x 1600,即使它随后显示在240 X 320屏幕上)。如果您可以检索已经大小为320 X 240的JPEG,而不是全尺寸的JPEG,则位图的创建时间应该要短得多。

除了Bitmap构造函数之外,我找不到缺少的FromStream方法的任何替代方法。如果您熟悉JPEG格式,我认为编写自己的JPEG到BMP转换器并不太困难,但我猜它不会比Bitmap()更快。

编辑:对不起,我的意思是你自己的滚动转换器将不会更快地将240 X 320 JPEG转换成240 X 320位图。我认为它可以更快地将一个更大的JPEG转换成一个240×320位图,因为它可以跳过首先创建全尺寸位图的步骤。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/285440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档