Создать растровое изображение в C#

Растровое изображение используется для создания и хранения компьютерной графики. Растровые изображения широко используются на веб-страницах и цифровых устройствах, таких как камеры, смартфоны и т. д. Наиболее распространенными типами растровых графических файлов являются BMP, GIF, PNG и JPEG. В этой статье мы узнаем, как программно создать растровое изображение на C#.

В этой статье должны быть раскрыты следующие темы:

  1. API C# для создания растрового изображения
  2. Создать новое растровое изображение
  3. Создать растровое изображение с заполненным прямоугольником
  4. Загрузить изображение в растровое изображение
  5. Изменить размер существующего изображения
  6. Создать растровое изображение из MemoryStream в файл

C# API для создания растровых изображений — скачать бесплатно

Для создания растрового изображения мы будем использовать API Aspose.Drawing for .NET. Это кроссплатформенная библиотека 2D-графики для программного рисования текста, геометрии и изображений. Он позволяет загружать, сохранять и управлять поддерживаемыми форматами файлов.

Пожалуйста, либо загрузите DLL API, либо установите его с помощью NuGet.

PM> Install-Package Aspose.Drawing

Создание нового растрового изображения в C#

Мы можем создать новое растровое изображение, выполнив следующие шаги:

  1. Во-первых, создайте новое растровое изображение с помощью класса Bitmap с указанным размером и форматом.
  2. Затем создайте новый объект Graphics из объекта Bitmap с помощью метода FromImage().
  3. Затем инициализируйте объект класса Pen с указанным цветом и размером.
  4. После этого вызовите метод DrawEllipse(), чтобы нарисовать эллипс заданного размера.
  5. Наконец, сохраните выходное изображение с помощью метода Save().

В следующем примере кода показано, как программно создать новое растровое изображение на C#.

// В этом примере кода показано, как программно создать новое растровое изображение на C#.
// Инициализировать растровый объект
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Создать новую графику
Graphics graphics = Graphics.FromImage(bitmap);

// Инициализировать перо
Pen pen = new Pen(Color.Red, 5);

// Нарисуйте прямоугольник
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));

// Сохраните файл
bitmap.Save(@"C:\Files\Drawings\output.png");
Создание нового растрового изображения в CSharp

Создайте новый битмап в C#

Создать растровое изображение с заполненным прямоугольником

Мы можем нарисовать заполненный прямоугольник и сохранить его в новом растровом изображении, выполнив следующие шаги:

  1. Во-первых, создайте новое растровое изображение, используя класс Bitmap, с указанным размером.
  2. Затем создайте новый объект Graphics из объекта Bitmap с помощью метода FromImage().
  3. Затем инициализируйте объект класса Rectangle с указанным расположением и размером.
  4. После этого вызовите метод FillRectangle() с цветом кисти и прямоугольником.
  5. Наконец, сохраните выходное изображение с помощью метода Save().

В следующем примере кода показано, как создать новое растровое изображение с заполненным прямоугольником в C#.

// В этом примере кода показано, как создать новое растровое изображение с заполненным прямоугольником в C#.
// Инициализировать растровое изображение с указанным размером
Bitmap bitmap = new Bitmap(500, 500);

// Создать новую графику
Graphics graph = Graphics.FromImage(bitmap);

// Определить прямоугольник
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);

// Нарисуйте закрашенный прямоугольник
graph.FillRectangle(Brushes.Gray, ImageSize);

// Сохраните файл
bitmap.Save(@"C:\Files\Drawings\output.png");
Создать растровое изображение с заполненным прямоугольником

Создать растровое изображение с заполненным прямоугольником

Загрузите изображение в растровое изображение с помощью С#

Мы также можем загрузить существующее изображение в растровое изображение и сохранить его как новое растровое изображение, выполнив следующие шаги:

  1. Во-первых, загрузите изображение с помощью класса Bitmap.
  2. Затем создайте новое растровое изображение, используя класс Bitmap, с указанным размером.
  3. Затем создайте новый объект Graphics из только что созданного объекта Bitmap с помощью метода FromImage().
  4. После этого вызовите метод DrawImage() с изображением и координатами местоположения в качестве аргументов.
  5. Наконец, сохраните выходное изображение с помощью метода Save().

В следующем примере кода показано, как создать новое растровое изображение с заполненным прямоугольником в C#.

// В этом примере кода показано, как загрузить изображение в растровое изображение и сохранить как новое растровое изображение.
// Загрузите изображение:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Инициализировать растровое изображение с указанным размером
Bitmap bitmap = new Bitmap(1000, 1000);

// Создать новую графику
Graphics graphics = Graphics.FromImage(bitmap);

// Нарисовать изображение в указанном месте
graphics.DrawImage(image, 10, 10);

// Сохраните файл
bitmap.Save(@"C:\Files\Drawings\output.png");
Загрузка изображения в растровое изображение с помощью CSharp

Загрузите изображение в растровое изображение с помощью С#

Изменение размера существующего изображения с помощью C#

Мы можем загрузить и изменить размер существующего изображения в растровом изображении и сохранить его как новое растровое изображение, выполнив следующие шаги:

  1. Загрузите существующее изображение с помощью класса Bitmap.
  2. Создайте новое растровое изображение с помощью класса Bitmap с загруженным изображением и указанным размером.
  3. Наконец, сохраните выходное изображение с помощью метода Save().

В следующем примере кода показано, как изменить размер существующего изображения и сохранить его как новое растровое изображение в C#.

// В этом примере кода показано, как изменить размер существующего изображения и создать новое растровое изображение в C#.
// Загрузите изображение:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Создайте новое растровое изображение размером в половину загруженного изображения:
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));

// Сохраните файл
bitmap.Save(@"C:\Files\Drawings\output.jpg");
Изменение размера существующего изображения с помощью CSharp

Изменение размера существующего изображения с помощью C#

Создайте растровое изображение из MemoryStream в файл на С#

Мы можем создать растровое изображение из байтов потока памяти, выполнив следующие шаги:

  1. Считайте файл изображения в массив байтов.
  2. Создайте новый экземпляр MemoryStream, используя объект массива байтов.
  3. Создайте новое растровое изображение, используя класс Bitmap с объектом MemoryStream.
  4. Наконец, сохраните изображение с помощью метода Save().

В следующем примере кода показано, как сохранить файл растрового изображения из MemoryStream с помощью C#.

// В этом примере кода показано, как создать новое растровое изображение из байтов потока памяти в C#.
// Загрузите изображение и прочитайте все байты
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");

// Создать поток памяти
MemoryStream stream = new MemoryStream(file);

// Создать новое растровое изображение
Bitmap bitmap = new Bitmap(stream);

// Сохраните файл
bitmap.Save(@"C:\Files\Drawings\output.jpg");

Получить бесплатную временную лицензию

Вы можете получить бесплатную временную лицензию, чтобы попробовать Aspose.Drawing для .NET без ограничений пробной версии.

Вывод

В этой статье мы узнали, как:

  • создать новое растровое изображение программно;
  • рисовать прямоугольник, эллипс и т. д. на растровом изображении;
  • загрузить существующее изображение;
  • изменить размер существующего изображения и создать новое растровое изображение с новым размером;
  • сохранить растровое изображение из MemoryStream или байтового массива в файл;
  • установить ширину и высоту растрового изображения в C#.

Кроме того, вы можете узнать больше об Aspose.Drawing для .NET с помощью документации и изучить различные функции, поддерживаемые API. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем форуме.

Смотрите также