我需要从一组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
上面的对象进行大量绘图/绘画.