生成带有白色边框的缩略图

时间:2020-03-05 18:56:26  来源:igfitidea点击:

我需要从一组jpg缩略图中生成缩略图,而jpg缩略图需要有一个小的白色边框,以便在地图上显示时它们看起来像是"照片"。自己获取缩略图很容易,但我不知道如何获取边框。

解决方案

回答

这是一个快速的技巧:

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;
}

它创建一个新的" Bitmap"对象,其大小为原始对象的大小加上2倍的边框宽度,然后在中间绘制原始图像,然后返回完成的图像。

我们也可以使用上方的" Graphics"对象进行大量绘图/绘画。