Cannot see the Image type in System.Drawing namespace in .NET

B.Sverediuk picture B.Sverediuk · May 7, 2016 · Viewed 11.4k times · Source

I'm trying to write a program that sorts images in specific folder by ther dimensions and moves little images to another folder via simple .NET console application. I decided to use System.Drawing.Image class to get the image dimentions from an image file. But I face following error:

The type or namespace name 'Image' could not be found (are you missing a using directive or an assembly referrence?)

What exactly did I do wrong and why it doesn't see this class? Here are the complete code of my program:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Drawing;

namespace ImageSort
{
    class Program
    {
        static void Main(string[] args)
        {
            string targetPath = @"d:\SmallImages";
            string[] files = Directory.GetFiles(@"d:\Images");
            foreach (string path in files)
            {
                if (File.Exists(path))
                {
                    Image newImage = Image.FromFile(path);
                    var Width = (int)(newImage.Width);
                    var Height = (int)(newImage.Height);
                    if (Width * Height < 660000) {
                        System.IO.File.Move(path, targetPath);
                    }
                }
            }
        }
    }
}

Answer

Abdellah OUMGHAR picture Abdellah OUMGHAR · May 7, 2016

You need to add a reference : System.Drawing.dll.

In Solution Explorer, right-click on the References node and choose Add Reference and find System.Drawing.dll.