Générer une vignette avec une bordure blanche
-
09-06-2019 - |
Question
Je dois générer des vignettes à partir d'un ensemble de fichiers jpg qui doivent comporter une petite bordure blanche de sorte qu'ils semblent être des "photos". lors de l'affichage sur une carte. Obtenir les vignettes elles-mêmes est facile mais je n'arrive pas à comprendre comment obtenir la bordure.
La solution
Voici un petit hack:
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;
}
Il crée un nouvel objet Bitmap
qui a la taille de l'original plus 2 fois la largeur de la bordure, puis peint l'image d'origine au milieu, puis renvoie l'image terminée.
Vous pouvez aussi beaucoup dessiner / peindre avec l'objet Graphics
ci-dessus.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow