web-dev-qa-db-ja.com

C#コピー画像領域を別の画像に貼り付ける

Tilebaleであるイメージの自動サイズ変更を許可するユーティリティクラスを作成しようとしています。 Rectangle srcRegionで指定された領域をコピーするsrcBitmapがあるとします。次に、その領域を(ピクセル情報の観点から)Bitmap destBitmapと呼ばれる別の画像の貼り付け先の領域であるRectangle destRegionに貼り付けます。ソースからリージョンを取得してビットマップオブジェクトに配置する方法を知っていますが、特定のリージョンの別の大きなビットマップオブジェクト内のビットマップオブジェクトを実際に貼り付ける方法はまだわかりません。

これを行う簡単な方法はありますか? (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);
    }
19
teodron

これを使って :

    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);                
        }
    }
29
Amen Ayach