C# Image.FromFile为什么读入位图比jpeg文件快
我正在使用.net framework 4.0 System.Drawing.Image.FromFile读取位图和jpeg格式的图像。C# Image.FromFile为什么读入位图比jpeg文件快,c#,.net,image,bitmap,jpeg,C#,.net,Image,Bitmap,Jpeg,我正在使用.net framework 4.0 System.Drawing.Image.FromFile读取位图和jpeg格式的图像。 using (Image img = Image.FromFile("image file path")) { } 我放了一个秒表只是为了跟踪所用的时间,它告诉我位图的拍摄速度比jpeg图像快?? 相同的图像,但格式和大小不同。示例结果如下: image1.bmp(~4938 KB)-所用时间~5毫秒。(更快) image1.jpg(~545 KB)-所用时
using (Image img = Image.FromFile("image file path")) { }
我放了一个秒表只是为了跟踪所用的时间,它告诉我位图的拍摄速度比jpeg图像快??相同的图像,但格式和大小不同。示例结果如下:
image1.bmp(~4938 KB)-所用时间~5毫秒。(更快)
image1.jpg(~545 KB)-所用时间~54 ms.(较慢)
我的问题是:
1.在位图(大尺寸)中读取的方法是否可能比jpeg(小尺寸)更快?为什么?
2.请有人解释一下不同文件格式的“Image.FromFile()”方法中的逻辑吗?
我搜索了msdn和web,但找不到与文件格式相关的性能详细信息。
谢谢。可能的解释:
- 磁盘IO没有区别,因为实际上是从缓存读取文件,所以文件大小无关紧要
- jpg是压缩格式,因此需要解压缩以表示为可编辑图像。BMP本质上是内存和磁盘格式之间的一对一映射-加载时无需进行重大处理