1

多くの (1000+) 画像を tiff から jpg に変換しようとしていますが、appr. 最初の 250 枚には 20 秒かかりましたが、250 ~ 300 枚の画像では、それ以降の画像には約 5 ~ 10 秒かかります。

これは私が使用するコードです:

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 に答える