想在一个PANEL上画图,怎么画不上去呢?
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Green);
g.DrawLine(pen, 320, 300, 460, 460); }
起始点都是在我的PANEL里面的。
还想问,怎么基于PANEL的坐标来画图呢?那个PaintEventArgs e怎么用?
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Green);
g.DrawLine(pen, 320, 300, 460, 460); }
起始点都是在我的PANEL里面的。
还想问,怎么基于PANEL的坐标来画图呢?那个PaintEventArgs e怎么用?
-----------------------------------------
这个坐标是相对panel来说的。
DrawLine(起点x坐标,起点y坐标,终点x,终点y), 坐标是基于panel的
如果想要根据两个文本框里面的数据,比如数据是10和20,然后在不同的点处画10CM长和20CM长的两条直线,然后把这两条直线用折线连接起来,该怎么写呢?
//假设panel1是将直线盖住的控件
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.Clear(BackColor);panel1.CreateGraphics().Clear(panel1.BackColor);
e.Graphics.DrawLine(Pens.Black, new Point(0, 0), new Point(ClientRectangle.Width, ClientRectangle.Height));
//注意坐标系变换。
panel1.CreateGraphics().DrawLine(Pens.Black, new Point(-panel1.Left, -panel1.Top), new Point(ClientRectangle.Width - panel1.Left, ClientRectangle.Height - panel1.Top));
}
private void Form1_SizeChanged(object sender, EventArgs e)
{
Form1_Paint(this, new PaintEventArgs(CreateGraphics(), ClientRectangle));
} 参考:C# .NET中如何在面板(Panel)上进行绘图?
如果想要根据两个文本框里面的数据,比如数据是10和20,然后在不同的点处画10CM长和20CM长的两条直线,然后把这两条直线用折线连接起来,该怎么写呢?思路?
我的操作系统下没有Graphicspath ,没有pen的linejoin,我画了两条直线后就没办法连接起来了,请问有什么解决方案吗?或者方法该怎么写呢??
我的操作系统下没有Graphicspath ,没有pen的linejoin,我画了两条直线后就没办法连接起来了,请问有什么解决方案吗?或者方法该怎么写呢??