的形象.FromFile为什么读取位图文件比jpeg文件快

本文关键字:文件 jpeg 位图 读取 FromFile 为什么 | 更新日期: 2023-09-27 17:54:30

我使用。net framework 4.0, System.Drawing.Image.FromFile来读取位图和jpeg格式的图像。

using (Image img = Image.FromFile("image file path")) { }

我把一个秒表只是为了跟踪所花的时间,它告诉我的结果,采取位图比jpeg图像快??

相同的图像,但格式和大小不同。示例结果如下:
image1.bmp (~ 4938kb) -时间~ 5ms .(更快)
image1.jpg (~ 545 KB)——时间 ~ 54女士(慢)

我的问题是:
1. 在位图(大尺寸)中读取的方法是否可能比jpeg(小尺寸)更快?为什么?
2. 有人可以帮助解释逻辑发生在"Image.FromFile()"方法不同的文件格式?

我搜索了MSDN和web,但是没有找到与文件格式相关的性能细节。
http://msdn.microsoft.com/en-us/library/4sahykhd%28v=vs.100%29.aspx

谢谢。

的形象.FromFile为什么读取位图文件比jpeg文件快

可能的解释:

  • 在磁盘IO中没有区别,因为你实际上是从缓存中读取文件-所以文件大小无关紧要。
  • jpg是压缩格式,因此需要解压缩才能表示为可编辑的图像。BMP本质上是内存和磁盘格式之间的一对一映射-在负载上不需要进行重大处理。