我需要从一组 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 上面的对象也是如此。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top