2011-12-01 19 views
1

我目前正在研究一個控件,該控件顯示文件夾內的所有圖像,以便客戶端知道它們上傳的內容。FileInfo變量中的圖像大小

我已設置了要顯示的屬性,以便讓他們知道他們上傳的內容。到目前爲止,一切進展順利,但我遇到了一個小問題。

我想要做的是顯示上傳圖片的高度和寬度,但我目前找不到這樣做的方法。任何人都可以指出我在正確的方向?

到目前爲止,我的代碼如下所示:

FileInfo[] files = new DirectoryInfo(Server.MapPath(@"..\_includes\images\uploads\") + folder).GetFiles(); 

var imagefiles = from FileInfo f in files 
         where f.Exists 
         select new 
         { 
          url = imageurl + f.Name, 
          name = f.Name, 
          creation = f.CreationTime.ToLongDateString(), 
          filesize = (f.Length/1024).ToString() + "KB", 
         }; 

回答

3

您需要將圖像加載到一個Image對象 - 這會給你的圖像的尺寸。

using(var img = Image.FromFile(file.Name)) 
{ 
    var height = img.Height; 
    var width = img.Width; 
} 
+0

你能告訴我如何修改我的代碼嗎? – Callum

+0

如何閱讀圖像元數據 http://msdn.microsoft.com/en-us/library/xddt0dz7.aspx –

+0

@Callum - 我不會在LINQ查詢中執行圖像操作。你可以遍歷'imagefiles'並使用循環中的示例代碼。 – Oded

1

你可以嘗試(但可能是內存和CPU消耗)

Image img = Image.FromFile(your_file); 

,並使用img.Widthimg.Height

請注意,這些信息可能是錯誤:請參閱我的question