【问题标题】:Image sizes in a FileInfo variableFileInfo 变量中的图像大小
【发布时间】:2011-12-01 14:52:27
【问题描述】:

我目前正在开发一个控件,该控件显示文件夹中保存的所有图像,以便客户端知道他们上传的内容。

我已经设置了我希望显示的属性,以便让他们了解他们上传的内容。到目前为止一切顺利,但我遇到了一个小问题。

我想做的是显示上传图像的高度和宽度,但我目前找不到这样做的方法。谁能指出我正确的方向??

到目前为止,我的代码如下所示:

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",
                         };

【问题讨论】:

    标签: c# .net variables fileinfo


    【解决方案1】:

    您需要将图像加载到 Image 对象中 - 这将为您提供图像的尺寸。

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

    【讨论】:

    • @Callum - 我不会在 LINQ 查询中执行图像操作。您可以循环 imagefiles 并在循环中使用示例代码。
    • @AndersForsgren - 不是万无一失的。从链接文章的顶部开始:“一些图像文件包含元数据”。 一些。不是全部。
    • 在这段代码周围放置一个 using 语句,由于文件锁定,经常被遗忘并且在这种情况下特别讨厌。
    【解决方案2】:

    您可以尝试(但可能会消耗 RAM 和 CPU)

    Image img = Image.FromFile(your_file);
    

    并使用img.Widthimg.Height

    请注意,这些信息可能错误:请参阅我的question

    【讨论】:

      猜你喜欢
      • 2016-12-14
      • 2017-12-22
      • 2013-08-05
      • 1970-01-01
      • 2013-01-14
      • 1970-01-01
      • 1970-01-01
      • 2017-04-29
      • 2012-02-11
      相关资源
      最近更新 更多