我在Java语言中使用Swing做过一些类似的工作,但从来没有必要尝试在C#中做同样的事情。在网上简单地看一下,我似乎找不到任何关于如何使用简单绘图工具的教程。谁能给我指个好方向?
此外,我希望在自定义用户控件上绘制直线和矩形框,该控件的大小不是固定的。这意味着,当在Visual Studio UI中调整控件的大小时,它需要相应地重新绘制线条,以适应新的控件尺寸。我该怎么做呢?
谢谢
发布于 2012-11-21 10:20:37
查看GDI+,了解windows上的基本图形控制。
这是一个C# tutorial on GDI+
或
有关GDI+的跨平台版本,请查看Libgdiplus
这应该能让你开始。显然,你不会想要在每次画图得到新的时候都在你的对象上调用called...but,你明白了。
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);
}
}发布于 2012-11-21 10:26:22
下面的代码将绘制一个矩形并将其显示在图片框中。您可以连接一个事件来检测调整大小,然后重新绘制矩形。
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;https://stackoverflow.com/questions/13485376
复制相似问题