FileInfo变量中的图像大小
问题描述:
我目前正在研究一个控件,该控件显示文件夹内的所有图像,以便客户端知道它们上传的内容。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",
};
答
您需要将图像加载到一个Image
对象 - 这会给你的图像的尺寸。
using(var img = Image.FromFile(file.Name))
{
var height = img.Height;
var width = img.Width;
}
答
你可以尝试(但可能是内存和CPU消耗)
Image img = Image.FromFile(your_file);
,并使用img.Width
和img.Height
。
请注意,这些信息可能是错误:请参阅我的question。
你能告诉我如何修改我的代码吗? – Callum
如何阅读图像元数据 http://msdn.microsoft.com/en-us/library/xddt0dz7.aspx –
@Callum - 我不会在LINQ查询中执行图像操作。你可以遍历'imagefiles'并使用循环中的示例代码。 – Oded