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.

¿Fue útil?

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
scroll top