c# – 在位图周围绘制边框

我的代码中有一个System.Drawing.Bitmap.

宽度固定,高度变化.

我想要做的是在位图周围添加一个白色边框,大约20个像素,到所有4个边缘.

这怎么样?

最佳答案
您可以在位图后面绘制一个矩形.矩形的宽度为(Bitmap.Width BorderWidth * 2),位置为(Bitmap.Position – new Point(BorderWidth,BorderWidth)).或者至少那是我的方式.

编辑:
下面是一些实际的源代码,解释了如何实现它(如果你有一个专用的方法来绘制图像):

private void DrawBitmapWithBorder(Bitmap bmp, Point pos, Graphics g) {
    const int borderSize = 20;

    using (Brush border = new SolidBrush(Color.White /* Change it to whichever color you want. */)) {
        g.FillRectangle(border, pos.X - borderSize, pos.Y - borderSize, 
            bmp.Width + borderSize, bmp.Height + borderSize);
    }

    g.DrawImage(bmp, pos);
}

转载注明原文:c# – 在位图周围绘制边框 - 代码日志