首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用System.Drawing绘图?

如何使用System.Drawing绘图?
EN

Stack Overflow用户
提问于 2012-11-21 10:15:02
回答 2查看 14.4K关注 0票数 1

我在Java语言中使用Swing做过一些类似的工作,但从来没有必要尝试在C#中做同样的事情。在网上简单地看一下,我似乎找不到任何关于如何使用简单绘图工具的教程。谁能给我指个好方向?

此外,我希望在自定义用户控件上绘制直线和矩形框,该控件的大小不是固定的。这意味着,当在Visual Studio UI中调整控件的大小时,它需要相应地重新绘制线条,以适应新的控件尺寸。我该怎么做呢?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-11-21 10:20:37

查看GDI+,了解windows上的基本图形控制。

这是一个C# tutorial on GDI+

有关GDI+的跨平台版本,请查看Libgdiplus

这应该能让你开始。显然,你不会想要在每次画图得到新的时候都在你的对象上调用called...but,你明白了。

代码语言:javascript
复制
public partial class Form1 : Form
{
    Graphics g = null;
    public Form1()
    {
        InitializeComponent();
        g = Graphics.FromHwnd(Handle);

    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);

        Brush b = new SolidBrush(Color.Black);

        Pen pen = new Pen(b, 20.5f);
        Point p1 = new Point(0, 0);
        Point p2 = new Point(this.Width, this.Height);

        g.DrawLine(pen, p1, p2);
    }


}
票数 4
EN

Stack Overflow用户

发布于 2012-11-21 10:26:22

下面的代码将绘制一个矩形并将其显示在图片框中。您可以连接一个事件来检测调整大小,然后重新绘制矩形。

代码语言:javascript
复制
Graphics GR;
Bitmap BM;
Rectangle myrect = new Rectangle(10,10,10,10);
Pen penTest = new System.Drawing.Pen(Brushes.Red);

using (GR = Graphics.FromImage(BM))
{
    GR.DrawRectangle(penTest, myrect);
}

picturebox1.Image = BM;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13485376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档