Подтвердить что ты не робот

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

Я пытаюсь написать класс утилиты, который позволяет автоматически изменять размер изображений, которые являются чересстрочными. Скажем, есть 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);
    }
4b9b3361

Ответ 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);                
        }
    }