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

标签 c# graphics bitmap compact-framework

我的代码中有一个 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# - 在位图周围绘制边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13357121/

相关文章:

c# - C#中通过XPath获取数据

android - 无法显示网址图片(位图)

Android,无法读取我保存到数据文件夹的图像

winapi - 从加载到内存的 24 位 BMP 文件中获取 HBITMAP

c# - 如何在 C# winform 应用程序中写入非缓存文件

c# - 使用托管 Web 应用程序连接到 SQL Server 数据库

c# - iOS 15 更新后 iOS 平台 Xamarin.forms 中的导航栏颜色变化问题

android - 沿路径使用渐变

c++ - 在 C/C++ 中绘制填充椭圆的简单算法

c++ - 用 C++ 绘制图形(这是如何工作的?)(以及更快编译器的技巧?)