繁体   English   中英

图像位图和c#中的fromFile方法之间的区别

[英]difference between image bitmap and fromFile methods in c#

我发现有两种方法可以使用默认的c#库读取图像信息。 其中之一是

 System.Drawing.Image image = new Bitmap("file..path");

另一个是:

Image image = Image.FromFile("file..path");

如果我需要读取大量图像(近100TB数据),谁能告诉我哪一个运行得更快。

我发现有两种读取图像信息的方法

您知道,如果只是您所需要的图像信息,那么我都不会使用这两个功能,因为它们都会从磁盘将整个图像加载到内存中 -这是对计算机资源的相当浪费的练习。

相反,无论是否为EXIF,都应仅加载图像文件头; BITMAPINFOHEADER或其他取决于图像格式。 有几种方法可以通过.NET加载此类信息(请参见下面的链接)。

图片标题

除了RAW图像文件格式(不一定是从SLR相机输出的格式)以外,大多数图像文件格式都有标头,可以在将图像栅格数据从磁盘加载到内存之前先加载标头。 实际上,通常要求首先读取标头,因为否则您将不知道在加载映像之前要分配多少内存。

  • 有多宽?
  • 多高?
  • 每个像素多少位(色深)?

...等等。 这些都是通过首先读取图像文件头来回答的。 顾名思义,有关图像的信息通常位于文件开头附近。 确切的格式和布局取决于所讨论的文件格式。 参见BMP; 有关更多信息的PNG资源。

这是有关加载图片标题的一些建议

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM