Hallo sl1ce,
meines Wissens hat ein Bitmap-Objekt selbst - bis auf das (sehr langsame) SetPixel - keine verändernden Methoden. Alle Veränderungen laufen über ein Graphics-Objekt. Und bei dem ist wiederum DrawImage die einzige Methode, die dafür passt. Ich sehe also keine Alternative zu dem Code und auch keinen Grund, warum man es nicht wie beschrieben machen sollte.
Natürlich ist man bei der Wahl des Zeichenziels frei. Man muss also nicht - wie im Beispiel - den e.Graphics-Parameter der OnPaint-Methode bzw. des Paint-Events verwenden, sondern kann per Graphics.FromImage ein Graphics-Objekt erzeugen, das ein Bitmap-Objekt als Ziel der Zeichenoperationen verwendet.
Ein Beispiel für dieses Vorgehen findet sich z.B. in
[gelöst] Bitmap-Randproblem beim Verkleinern mit InterpolationMode.HighQualityBilinear. Und allgemeiner ist es in
[Tutorial] Zeichnen in Windows-Forms-Programmen (Paint/OnPaint, PictureBox) beschrieben.
herbivore