我有一个 C# 程序,它在处理大量图像后将其保存到磁盘 。由于需要保存大量图像,这似乎需要相当长的时间。
现在,我想知道:有什么方法可以加快 C# 中保存图像的速度吗?目前,我正在使用标准 bmp.Save(filename)方法。
如果有帮助的话,图像生成过程的一部分涉及使用锁定位来更快地访问和修改像素值,所以也许当我这样做时,图像可以同时保存到磁盘?如果这个想法很愚蠢,我深表歉意,但我对 C# 还是有点陌生。
最佳答案
您当然可以为每个图像保存启动一个新线程。这会减少一点花费的时间,但磁盘会成为瓶颈。
另一种选择是将图像保存到临时缓冲区列表中,然后将控制权返回给程序。然后有一个线程在后台将每个数据写入磁盘。当然,这只会让事情发生得很快。不过它可能会满足您的需求。
我确信 .NET 已经实现了某种异步 I/O 来为您完成此操作。我知道 Windows 有,所以它在 .NET 中是有道理的。
这可能会有所帮助。
http://msdn.microsoft.com/en-us/library/kztecsys(v=vs.71).aspx
关于c# - 在C#中快速将多个图像保存到磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11874457/