1

我正在尝试将许多(1000+)图像从 tiff 转换为 jpg,但在 appr. 250-300 张图像,任何进一步的图像大约需要 5-10 秒,即使前 250 张需要 20 秒。

这是我使用的代码:

foreach (string filePath in Directory.GetFiles(tifPath, "*.tif", SearchOption.AllDirectories))
{
    System.Drawing.Image.FromFile(filePath).Save(jpgPath + "\\" + Path.GetFileNameWithoutExtension(filePath) + ".jpg", ImageFormat.Jpeg);
}

我的方法有问题吗?提前致谢。

4

1 回答 1

1

图像需要被处理,否则它会留在内存中:

foreach (string filePath in Directory.GetFiles(tifPath, "*.tif", SearchOption.AllDirectories))
{
    using (var image = System.Drawing.Image.FromFile(filePath))
    {
        image.Save(jpgPath + "\\" + Path.GetFileNameWithoutExtension(filePath) + ".jpg", ImageFormat.Jpeg);
    }
}

有关使用语句的更多信息,请参阅此站点:

http://www.dotnetperls.com/using

于 2013-10-09T07:08:56.233 回答