С# копировать область изображения в другое изображение
Я пытаюсь написать класс утилиты, который позволяет автоматически изменять размер изображений, которые являются чересстрочными. Скажем, есть srcBitmap, откуда я копирую область, заданную Rectangle srcRegion. Затем я хочу вставить (информацию о пикселях) эту область в другое изображение, называемое Bitmap destBitmap, в области назначения Rectangle destRegion.
Я знаю, как получить регион из источника и поместить его в объект Bitmap, но я еще не смог найти, как на самом деле вставлять объект Bitmap в определенную область, внутри другого более крупного объекта Bitmap.
Есть ли быстрый способ сделать это? (без GDI и без вникания в массив байтов битмапов). Вот фрагмент, который должен прояснить мою цель.
private static void CopyRegionIntoImage(Bitmap srcBitmap, Rectangle srcRegion, Bitmap destBitmap, Rectangle destRegion)
{
// get the required region from the destination
Bitmap region = Copy(srcBitmap, srcRegion);
}
Ответы
Ответ 1
Используйте это:
public static void CopyRegionIntoImage(Bitmap srcBitmap, Rectangle srcRegion,ref Bitmap destBitmap, Rectangle destRegion)
{
using (Graphics grD = Graphics.FromImage(destBitmap))
{
grD.DrawImage(srcBitmap, destRegion, srcRegion, GraphicsUnit.Pixel);
}
}