How to get the the dimensions of an image file?

前端 未结 2 1401
醉梦人生
醉梦人生 2020-12-09 07:13

I have a file called FPN = \"c:\\ggs\\ggs Access\\images\\members\\1.jpg \"

I\'m trying to get the dimension of image 1.jpg, and I\'d like

相关标签:
2条回答
  • 2020-12-09 07:47

    Wpf class System.Windows.Media.Imaging.BitmapDecoder doesn't read whole file, just metadata.

    using(var imageStream = File.OpenRead("file"))
    {
        var decoder = BitmapDecoder.Create(imageStream, BitmapCreateOptions.IgnoreColorProfile,
            BitmapCacheOption.Default);
        var height = decoder.Frames[0].PixelHeight;
        var width = decoder.Frames[0].PixelWidth;
    }
    

    Update 2019-07-07 Dealing with exif'ed images is a little bit more complicated. For some reasons iphones save a rotated image and to compensate they also set "rotate this image before displaying" exif flag as such.

    Gif is also a pretty complicated format. It is possible that no frame has full gif size, you have to aggregate it from offsets and frames sizes.

    So I used ImageProcessor instead, which deals with all the problems for me. Never checked if it reads the whole file though, because some browsers have no exif support and I had to save a rotated version anyway.

    using (var imageFactory = new ImageFactory())
    {
        imageFactory
            .Load(stream)
            .AutoRotate(); //takes care of ex-if
        var height = imageFactory.Image.Height,
        var width = imageFactory.Image.Width
    }
    
    0 讨论(0)
  • 2020-12-09 08:01
    System.Drawing.Image img = System.Drawing.Image.FromFile(@"c:\ggs\ggs Access\images\members\1.jpg");
    MessageBox.Show("Width: " + img.Width + ", Height: " + img.Height);
    
    0 讨论(0)
提交回复
热议问题