将目录中的每个图像转换为位图

时间:2014-12-11 15:45:11

标签: c# .net bitmap

我试图从目录中获取所有图像,然后将每个图像转换为位图,以便我可以获得属性(高度,宽度等)。我有“使用System.Drawing”,但我遇到了FromFile部分的问题。不知道该怎么做,因为我无法弄清楚实际从哪个路径获取文件。

        // get all files from directory
        DirectoryInfo di = new DirectoryInfo(@"C:\Users\ahaycraft\Desktop\TestImages");
        var directories = di.GetFiles("*", SearchOption.AllDirectories);
        Console.WriteLine("Done");


        foreach (FileInfo d in directories) 
        {
         //convert images to bmp;
            using (var bmp = (Bitmap)Image.FromFile(""))
        {

1 个答案:

答案 0 :(得分:1)

您可以使用FullName属性获取文件的完整路径。

using (var bmp = (Bitmap)Image.FromFile(d.FullName))

或者,如果您对文件的其他属性不感兴趣而只需要路径,请改用Directory.GetFiles方法。

var filePaths = Directory.GetFiles(@"C:\Users\ahaycraft\Desktop\TestImages",
                                    "*", SearchOption.AllDirectories);

foreach (var path in filePaths)
{
    using (var bmp = (Bitmap)Image.FromFile(path))
    {
       // ...
    }
}