繁体   English   中英

在具有固定位置C#Windows窗体的两个图片框之间画一条线

[英]Draw a line between two pictureboxes that have fixed positions c# windows form

我正在一个项目中,我应该在两个图片框之间画一条线。

请注意,我知道如何获取每个图片框的坐标,但是我不知道使用哪种方法在它们之间画线。

到目前为止,这是我的代码:

Point p1, p2;
        public Form1()
        {
            InitializeComponent();
            int x = pictureBox1.Location.X;
            MessageBox.Show(x.ToString());
            p1.X = pictureBox1.Location.X;
            p1.Y = pictureBox1.Location.Y;
            p2.X = pictureBox2.Location.X;
            p2.Y = pictureBox2.Location.Y;
        }

感谢任何帮助!

希望这个能对您有所帮助

pointArray[iNumberofClicks].X = e.X;
pointArray[iNumberofClicks].Y = e.Y;
Pen PenSpikes = new Pen(Color.Green);
SolidBrush solidBrush = new SolidBrush(Color.Blue);
iNumberofClicks++;
if (iNumberofClicks > 1)
{
  Point[] CurrentpointArray = new Point[iNumberofClicks];

  for (int i = 0; i < iNumberofClicks; i++)
  {
    CurrentpointArray[i].X = pointArray[i].X;
    CurrentpointArray[i].Y = pointArray[i].Y;
  }

  Bitmap canvas = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  Graphics offScreenDC = Graphics.FromImage(canvas);
  // New line!
  offScreenDC.DrawImage(pictureBox1.Image, new Point());
  offScreenDC.DrawLines(PenSpikes, CurrentpointArray);

  pictureBox1.Image = canvas;
  offScreenDC.Dispose();
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        points.Add(e.Location);
        pictureBox1.Invalidate();
    }
}

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{enter code here
    if (points.Count > 1)
       e.Graphics.DrawLines(Pens.Black, points.ToArray());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM