在紧凑框架1中,来自Stream的Bitmap的构造函数太慢了

时间:2015-02-27 13:26:00

标签: bitmap compact-framework

我的'png'图片大小为200x200。 8位色。图像大小为10k。 图像在内存中作为字节数组。 调用位图bmp = new Bitmap(new MemoryStream(bytes));花了我大约60毫秒。 这样的图像大小似乎很长。 我知道PNG是压缩图像,但仍然认为60毫秒是太多时间。 有没有人知道从byte []构建Bitmap的更快方法?

1 个答案:

答案 0 :(得分:1)

这可能不是您正在寻找的答案,但是评论时间太长了。

我发现在我的设备上第一次加载图像所需的时间是后续图像的两倍。

Bitmap构造函数接受可能显示相同性能的文件名或Stream。我还尝试使用非托管代码(现在是.bmp文件)加载图像,但Bitmap.FromHbitmap()比使用SHLoadDIBitmap(17ms)从磁盘加载图像需要更多时间(35ms)!

据我所知,无论它做什么,都没有办法在不受惩罚的情况下获得Bitmap个对象。也许通过使用非托管代码加载和显示图像,您可以加快速度,但据我所知,.png过滤器是在COM接口后面的,这需要相当长的时间才能在.NET中正确使用。