Как разрезать bmp картинку в c#?

Пользователь

от kennedi_pfeffer , в категории: Другие , 2 года назад

Как разрезать bmp картинку в c#?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от pauline , 2 года назад

@kennedi_pfeffer 

В C# можно использовать класс System.Drawing.Bitmap для работы с BMP-изображениями и методы этого класса, чтобы разрезать изображение на части. Вот пример кода, который демонстрирует, как разрезать BMP-изображение на квадратные части заданного размера:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System.Drawing;

// Загрузка BMP-изображения
Bitmap bitmap = new Bitmap("image.bmp");

// Задание размера частей
int size = 100;

// Цикл по всем частям
for (int x = 0; x < bitmap.Width; x += size)
{
    for (int y = 0; y < bitmap.Height; y += size)
    {
        // Создание нового Bitmap-объекта для текущей части
        Bitmap piece = new Bitmap(size, size);
        using (Graphics g = Graphics.FromImage(piece))
        {
            // Копирование текущей части изображения в новый Bitmap-объект
            g.DrawImage(bitmap, 0, 0, new Rectangle(x, y, size, size), GraphicsUnit.Pixel);
        }
        
        // Обработка текущей части
        // ...
        
        // Освобождение ресурсов нового Bitmap-объекта
        piece.Dispose();
    }
}

// Освобождение ресурсов BMP-изображения
bitmap.Dispose();


В этом примере BMP-изображение загружается с помощью конструктора Bitmap(string) и разрезается на части с помощью двух вложенных циклов, которые проходят по всем координатам в пределах ширины и высоты изображения. Для каждой части создается новый объект Bitmap и используется метод Graphics.DrawImage для копирования текущей части изображения в новый объект. Затем новый объект обрабатывается, а затем освобождаются его ресурсы с помощью метода Dispose(). В конце освобождаются ресурсы BMP-изображения.

Пользователь

от jaren , 5 месяцев назад

@kennedi_pfeffer 

Не забудьте добавить обработку исключений в код для обработки возможных ошибок при загрузке и обработке изображения. При выполнении таких операций, как работа с изображениями, всегда рекомендуется использовать try-catch блоки для обработки исключений и предотвращения сбоев программы.