Originariamente inviato da s0r42
adesso dovrei allargare i bordi dell'immagine senza deformarla
in pratica dovrei aggiungere un bordo da 20px all'immagine
ad esempio l'immagine originale è 100 ed io l'immagine finale devo farla diventare 120
Controlla bene i vari overload del metodo costruttore per la classe Bitmap.
Fondamentalmente, si tratta di inizializzare il contenitore principale spedificando le sue dimensioni.
Successivamente, vi si può aggiungere l'immagine di origine.
Esempio:

codice:
public static void BuildImage(string sourcePath, string destPath)
{
    System.Drawing.Image oldImage = System.Drawing.Image.FromFile(sourcePath);

    // Creo un nuovo oggetto Bitmap aggiungendo lo spazio per il bordo superiore
    Bitmap bitmap = new Bitmap(oldImage.Width, oldImage.Height + 20);
    Graphics graphic = Graphics.FromImage(bitmap);

    // Aggiungo l'immagine originale
    graphic.DrawImage(oldImage, 0, 20);

    // Creo il rettangolo che conterrà il testo
    graphic.FillRectangle(new SolidBrush(Color.White), 0, 0, bitmap.Width, 20);

    // Creo il testo all'interno del rettangolo
    graphic.DrawString("Sample Text", new Font(FontFamily.GenericSerif, 12), new SolidBrush(Color.Black), 0, 0);

    bitmap.Save(destPath);
}