Растрове зображення використовується для створення та зберігання комп’ютерної графіки. Растрові зображення широко використовуються на веб-сторінках і цифрових пристроях, таких як фотоапарати, смартфони тощо. Найпоширенішими типами растрових графічних файлів є BMP, GIF, PNG і JPEG. У цій статті ми дізнаємося, як створити растрове зображення в C#.
У цій статті будуть розглянуті такі теми:
- C# API для створення, завантаження, заповнення та малювання растрового зображення
- Створити нове растрове зображення з нуля
- Створити растрове зображення з байтового масиву
- Зберегти растрове зображення як файл зображення
- Намалюйте фігури на растровому зображенні
- Намалювати текст на растровому зображенні
- Заповнити растрове зображення суцільним кольором
- Завантажити растрове зображення
- Змінити розмір наявного зображення за допомогою Bitmap
C# API для створення, завантаження, заповнення та малювання растрового зображення – безкоштовно завантажити
Щоб створити растрове зображення, ми будемо використовувати API Aspose.Drawing for .NET. Це кросплатформна бібліотека двовимірної графіки для програмного малювання тексту, геометрії та зображень. Він дозволяє завантажувати, зберігати та маніпулювати підтримуваними форматами файлів.
Завантажте DLL API або встановіть його за допомогою NuGet.
PM> Install-Package Aspose.Drawing
Створення нового растрового зображення в C#
Ми можемо створити нове растрове зображення з нуля, дотримуючись наведених нижче кроків:
- По-перше, створіть нове растрове зображення за допомогою класу Bitmap із зазначеним розміром і форматом.
- Потім створіть новий об’єкт Graphics з об’єкта Bitmap за допомогою методу FromImage().
- Потім ініціалізуйте об’єкт класу Pen зазначеним кольором і розміром.
- Після цього викличте метод DrawEllipse(), щоб намалювати еліпс заданого розміру.
- Нарешті, збережіть вихідне зображення за допомогою методу Save().
У наведеному нижче прикладі коду показано, як створити нове растрове зображення в C#.
// Цей приклад коду демонструє, як програмно створити нове растрове зображення в C#.
// Ініціалізація об'єкта Bitmap
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");
Створення растрового зображення з масиву байтів у C#
Ми можемо створити растрове зображення з байтів потоку пам’яті, дотримуючись наведених нижче кроків:
- Читання файлу зображення в байтовий масив.
- Створіть новий екземпляр MemoryStream за допомогою об’єкта масиву байтів.
- Створіть нове растрове зображення за допомогою класу Bitmap з об’єктом MemoryStream.
- Нарешті, збережіть зображення за допомогою методу 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");
C# Зберегти растрове зображення у файл
Ми можемо зберегти растрове зображення у файл у різних підтримуваних форматах файлів, виконавши кроки, згадані раніше. Однак нам просто потрібно згадати бажане розширення формату файлу збереження під час збереження файлу зображення за допомогою методу Save(string filename, ImageFormat format) на останньому кроці.
- Збережіть растрове зображення як файл BMP
bitmap.Save(@"C:\Files\output.bmp", ImageFormat.Bmp);
- Збережіть растрове зображення як файл PNG
bitmap.Save(@"C:\Files\output.png", ImageFormat.Png);
- Збережіть растрове зображення як файл JPG
bitmap.Save(@"C:\Files\output.jpg", ImageFormat.Jpeg);
- Збережіть растрове зображення як файл GIF
bitmap.Save(@"C:\Files\output.gif", ImageFormat.Gif);
C# Малювати на Bitmap
Ми можемо малювати різні фігури та зображення на растровому зображенні, виконуючи кроки, згадані раніше. Однак нам просто потрібно використовувати спеціальні методи форми, щоб намалювати потрібні фігури.
Ми можемо намалювати такі фігури, використовуючи надані спеціальні методи для малювання на растровому зображенні:
- Дуга: ми можемо намалювати дугу за допомогою методу DrawArc().
- Безьє: ми можемо намалювати Безьє за допомогою методу DrawBezier().
- Серія сплайнів Безьє: ми можемо намалювати серію сплайнів Безьє за допомогою методу DrawBeziers().
- Крива: ми можемо намалювати вигнуту форму за допомогою методу DrawCurve().
- ClosedCurve: ми можемо намалювати замкнуту криву за допомогою методу DrawClosedCurve().
- Еліпс: ми можемо намалювати еліпс за допомогою методу DrawEllipse().
- Лінія: ми можемо намалювати лінію за допомогою методу DrawLine().
- Серія ліній: ми можемо намалювати серію ліній за допомогою методу DrawLines().
- Шлях: ми можемо намалювати Шлях за допомогою методу DrawPath().
- Пиріг: ми можемо намалювати пиріг за допомогою методу DrawPie().
- Багатокутник: ми можемо намалювати багатокутник за допомогою методу DrawPolygon().
- Прямокутник: ми можемо намалювати прямокутник за допомогою методу DrawRectangle().
- Серія прямокутників: ми можемо намалювати серію прямокутників за допомогою методу DrawRectangles().
Ми можемо малювати зображення на растровому зображенні за допомогою таких методів:
- Піктограма: ми можемо намалювати зображення, представлене вказаною піктограмою, у межах області, визначеної структурою Rectangle, використовуючи метод DrawIcon().
- Зображення: ми можемо намалювати будь-яке вказане зображення за допомогою методу DrawImage().
C# Намалюйте текст на растровому зображенні
Ми можемо намалювати будь-який рядок на растровому зображенні, дотримуючись наведених нижче кроків:
- По-перше, створіть нове растрове зображення за допомогою класу Bitmap із вказаним розміром.
- Потім створіть новий об’єкт Graphics з об’єкта Bitmap за допомогою методу FromImage().
- Потім визначте об’єкт класу Font із потрібним набором шрифтів, стилем і розміром.
- Тим часом ініціалізуйте об’єкт SolidBrush вказаним кольором.
- Після цього викличте метод DrawString() із текстом для відображення, об’єктами Font і Brush як аргументами.
- Нарешті, збережіть вихідне зображення за допомогою методу Save().
У наведеному нижче прикладі коду показано, як намалювати текст на растровому зображенні в C#.
// Цей приклад коду демонструє, як програмно намалювати текст на новому растровому зображенні в C#.
// Ініціалізація об'єкта Bitmap
Bitmap bitmap = new Bitmap(500,200);
// Створіть нову графіку
Graphics graphics = Graphics.FromImage(bitmap);
// Ініціалізація шрифту
var font = new Font(FontFamily.GenericSerif, 40f, FontStyle.Bold);
// Ініціалізація пензля
var brush = new SolidBrush(Color.Red);
// Намалюйте прямокутник
graphics.DrawString("Welcome to Bitmap!", font, brush, 10, 20);
// Збережіть файл
bitmap.Save(@"C:\Files\Drawings\output.png", ImageFormat.Png);
Заповнення растрового зображення суцільним кольором у C#
Ми можемо заповнити растрове зображення суцільним кольором, використовуючи заповнений прямокутник, і зберегти його в новому растровому зображенні, виконавши наведені нижче дії:
- По-перше, створіть нове растрове зображення за допомогою класу Bitmap із вказаним розміром.
- Потім створіть новий об’єкт Graphics з об’єкта Bitmap за допомогою методу FromImage().
- Потім ініціалізуйте об’єкт класу Rectangle із вказаним розташуванням і розміром.
- Після цього викличте метод FillRectangle() із кольором пензля та прямокутником.
- Нарешті, збережіть вихідне зображення за допомогою методу Save().
У наступному прикладі коду показано, як заповнити растрове зображення суцільним кольором за допомогою прямокутника в C#.
// Цей приклад коду демонструє, як створити нове растрове зображення із заповненим прямокутником у C#.
// Ініціалізувати Bitmap із вказаним розміром
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");
Завантажте зображення в Bitmap за допомогою C#
Ми також можемо завантажити існуюче зображення в растровий малюнок і зберегти його як новий растровий малюнок, виконавши наведені нижче кроки:
- По-перше, завантажте зображення за допомогою класу Bitmap.
- Далі створіть нове растрове зображення за допомогою класу Bitmap із вказаним розміром.
- Потім створіть новий об’єкт Graphics із щойно створеного об’єкта Bitmap за допомогою методу FromImage().
- Після цього викличте метод DrawImage() із зображенням і координатами місця як аргументами.
- Нарешті, збережіть вихідне зображення за допомогою методу Save().
У наведеному нижче прикладі коду показано, як завантажити зображення в бітовому малюнку за допомогою C#.
// Цей приклад коду демонструє, як завантажити зображення в растровий малюнок і зберегти його як новий растровий малюнок.
// Завантажте зображення:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");
// Ініціалізувати Bitmap із вказаним розміром
Bitmap bitmap = new Bitmap(1000, 1000);
// Створіть нову графіку
Graphics graphics = Graphics.FromImage(bitmap);
// Намалюйте зображення у вказаному місці
graphics.DrawImage(image, 10, 10);
// Збережіть файл
bitmap.Save(@"C:\Files\Drawings\output.png");
Як змінити розмір зображення за допомогою Bitmap у C#
Ми можемо завантажити та змінити розмір існуючого растрового зображення та зберегти його як нове растрове зображення, виконавши наведені нижче дії:
- Завантажте наявне зображення за допомогою класу Bitmap.
- Створіть нове растрове зображення за допомогою класу Bitmap із завантаженим зображенням і вказаним розміром.
- Нарешті, збережіть вихідне зображення за допомогою методу 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");
Отримайте безкоштовну тимчасову ліцензію
Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати Aspose.Drawing for .NET без обмежень оцінювання.
Висновок
У цій статті ми дізналися, як:
- створити новий растровий малюнок;
- малювати прямокутник, еліпс тощо на растровому зображенні;
- завантажити наявне зображення;
- змінювати розмір наявного зображення та створювати нове растрове зображення з новим розміром;
- зберегти растрове зображення з MemoryStream або масиву байтів у файл;
- встановити ширину та висоту растрового зображення в C#.
Окрім створення нового растрового зображення в C#, ви можете дізнатися більше про Aspose.Drawing for .NET за допомогою документації та дослідити різні функції, які підтримує API. У разі будь-яких неясностей зв’яжіться з нами на нашому безкоштовному форумі підтримки.