Genera una miniatura con bordo bianco
-
09-06-2019 - |
Domanda
Devo generare miniature da una serie di jpg che devono avere un piccolo bordo bianco in modo che sembrino "foto" quando vengono visualizzate su una mappa.Ottenere le miniature stesse è facile ma non riesco a capire come ottenere il bordo.
Soluzione
Ecco un trucco veloce:
public Image AppendBorder(Image original, int borderWidth)
{
var borderColor = Color.White;
var newSize = new Size(
original.Width + borderWidth * 2,
original.Height + borderWidth * 2);
var img = new Bitmap(newSize.Width, newSize.Height);
var g = Graphics.FromImage(img);
g.Clear(borderColor);
g.DrawImage(original, new Point(borderWidth, borderWidth));
g.Dispose();
return img;
}
Ne crea uno nuovo Bitmap
oggetto che ha le dimensioni dell'originale più 2 volte la larghezza del bordo, quindi dipingi l'immagine originale al centro e quindi restituisci l'immagine finita.
Puoi fare molti disegni/dipingi con il Graphics
oggetto anche sopra.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow