s yu Ответов: 1

Как выбрать часть изображения динамически?


В моем приложении я загружаю изображение. Поскольку это изображение содержит некоторую бесполезную информацию о его верхней и нижней областях, я хочу перерисовать изображение и взять только его центральную часть оригинала (например, инструмент выбора Paint). Возможно ли это? Спасибо.

Что я уже пробовал:

Как выбрать часть изображения динамически?

1 Ответов

Рейтинг:
2

OriginalGriff

Создайте новое растровое изображение нужного размера и используйте DrawImage, чтобы нарисовать в нем только нужную область: Графика.Метод DrawImage (System.Чертеж) | Microsoft Docs[^] Первая перегрузка должна сделать это: Графика.Метод DrawImage (System.Чертеж) | Microsoft Docs[^]


s yu

Спасибо за ваш ответ. Согласно вашему ответу, я сделал следующее

SaveImageFile(изображение, "Temp");
Система.Рисование.Графика g = система.Рисование.Графика.FromImage(изображение);
RectangleF rect = новый RectangleF(0,25,100,100);
г. Функция drawImage(изображения, 25Ф, 25Ф, прямоугольник, GraphicsUnit.Точка);
г. Функция drawImage(изображения, прямоугольник);
Bitmap bmp = новое растровое изображение(100, 100, g);
SaveImageFile(bmp, "Temp_");

Я сохранил оба изображения. 1-й-это нормально, но 2-й-это не что иное, как отображение черного ящика. Что плохого в коде? Спасибо, если вы можете помочь.

OriginalGriff

"Создайте новое растровое изображение нужного размера" - вы это сделали? Нет.
"используйте DrawImage, чтобы нарисовать только необходимую область в нем" - вы это сделали? Нет, вы нарисовали на изображении, из которого вы рисуете ... дважды.
Затем вы создаете новое растровое изображение, ничего не рисуете на нем и сохраняете его ...

Пожалуйста, прочтите то, что я сказал, и постарайтесь подумать, прежде чем бросаться в код. :смеяться: