BohdanZPM
BohdanZPM

Reputation: 755

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

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);
                    }
                }
            }
        }
    }
}

Upvotes: 21

Views: 21164

Answers (3)

DailyLearner
DailyLearner

Reputation: 2374

Just to add to @feganmeister answer, you can install the NuGet package using dotnet CLI command from a terminal:

Navigate to the project directory and run the following command:

cd <project-directory>
dotnet add package System.Drawing.Common

Upvotes: 2

feganmeister
feganmeister

Reputation: 726

The answer to this issue for .NET Core 3.1 is to simply install System.Drawing.Common from NuGet.

Upvotes: 17

Abdellah OUMGHAR
Abdellah OUMGHAR

Reputation: 3755

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.

Upvotes: 20

Related Questions