Generar miniatura con borde blanco
-
09-06-2019 - |
Pregunta
Necesito generar miniaturas a partir de un conjunto de archivos jpg que deben tener un pequeño borde blanco para que parezcan "fotos" cuando se muestran en un mapa.Obtener las miniaturas es fácil, pero no sé cómo conseguir el borde.
Solución
Aquí hay un truco rápido:
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;
}
Crea un nuevo Bitmap
objeto que tiene el tamaño del original más 2 veces el ancho del borde y luego pinta la imagen original en el medio y luego devuelve la imagen terminada.
Puedes hacer muchos dibujos/pinturas con el Graphics
objeto de arriba también.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow