在C#中快速将多个映像保存到磁盘

时间:2012-08-08 23:01:11

标签: c# image

我在C#中有一个程序,在处理完毕后会将大量图像保存到磁盘上 。由于需要保存如此多的图像,这似乎需要花费相当多的时间。

现在,我想知道:有没有办法加速在C#中保存图像?目前,我正在使用标准bmp.Save(filename)方法。

如果有帮助,图像生成过程的一部分涉及使用锁定位来更快地访问和修改像素值,所以也许当我这样做时,图像可以同时保存到磁盘?抱歉,如果这个想法很愚蠢,但我对C#还是有点新鲜。

1 个答案:

答案 0 :(得分:3)

您当然可以为每个图像保存启动一个新线程。这会减少一点时间,但磁盘会成为瓶颈。

另一个选项是将图像保存到临时缓冲区列表,然后将控制权返回给程序。然后有一个线程在后台将每个写入磁盘。当然,这只会让这种情况很快发生。它可能会满足您的需求。

我确信.NET已经实现了某种异步I / O来为您执行此操作。我知道Windows是有意义的,它将在.NET中。

这可能会有所帮助。

http://msdn.microsoft.com/en-us/library/kztecsys(v=vs.71).aspx

相关问题