如何在C#中的两个图片框之间画一条线?

如何在C#中的两个图片框之间画一条线?,c#,picturebox,C#,Picturebox,我目前的任务是制作一个程序,在两张图片之间画一条线。将来,该线路将旋转,但仍作为一条线路连接。现在,请先将两张图片之间的连线连接起来。 目前使用2个面板作为图片,大图片盒设置为透明,覆盖两个面板作为画布,用于绘制线条,但在进行测试运行时,表格为空白,如图所示。 我的问题是 如何修复此空白错误?如果可以解决这个问题,那么可以在大的picturebox上绘制图片上的线条 如果不能。有没有其他方法可以在两个图片框之间绘制线条/连接的图片?多谢各位 我不知道搜索该错误的关键字。我尝试使用pictureb

我目前的任务是制作一个程序,在两张图片之间画一条线。将来,该线路将旋转,但仍作为一条线路连接。现在,请先将两张图片之间的连线连接起来。 目前使用2个面板作为图片,大图片盒设置为透明,覆盖两个面板作为画布,用于绘制线条,但在进行测试运行时,表格为空白,如图所示。 我的问题是

  • 如何修复此空白错误?如果可以解决这个问题,那么可以在大的picturebox上绘制图片上的线条
  • 如果不能。有没有其他方法可以在两个图片框之间绘制线条/连接的图片?多谢各位 我不知道搜索该错误的关键字。我尝试使用picturebox和panels,但结果是一样的

    以2个面板作为图片框的形式

    覆盖面板的大图片盒

    空白错误结果

    编辑。尝试将1个大图片框拆分为2个图像。它适用于线条画,但下面的按钮的空白错误是返回的。


    在主代码中,将图像加载到内存中。此方法保持文件锁定,如果需要,可以通过将文件加载到memorystream中来避免锁定

        Image image1 = Image.FromFile(@"C:/Users/RPC1940/Pictures/500px.jpg");
        Image image2 = Image.FromFile(@"C:/Users/RPC1940/Pictures/500px2.jpg");
    
    然后在picturebox paint事件中,将图像绘制到主画布上,并在顶部绘制线条。这不考虑拉伸等,但应该给你一个开始

        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            int halfWidth = pictureBox1.Width / 2;
            e.Graphics.DrawImage(image1, new Rectangle(0, 0, halfWidth, pictureBox1.Height));
            e.Graphics.DrawImage(image2, new Rectangle(halfWidth + 1, 0, halfWidth, pictureBox1.Height));
            e.Graphics.DrawLine(Pens.Black, 140, 140, 300, 300);
        }
    

    您只是将图片加载到panels BackgroundImage属性还是其他方法?如果没有,请发布加载图像的代码。应在绘制事件中使用e.Graphics.DrawLine()方法绘制到picturebox。但据我记忆所及,PictureBox不是透明的,无法正常工作。只需一个PictureBox/面板即可绘制所有内容。首先并排绘制两个图像,每个图像的宽度等于画布宽度的1/2。然后画一条线。@troymac1使用通常的上传代码
    pictureBoxLeft.BackgroundImage=image.FromFile(“C:/Users/RPC1940/Pictures/500px.jpg”);pictureBoxRight.BackgroundImage=Image.FromFile(“C:/Users/RPC1940/Pictures/500px2.png”)@JQSOFT im使用2个picturebox,因为将来每个picturebox都可以自定义,因此每个picturebox都可以旋转和更改。但是请告诉我关于半画布方法的更多细节。你的代码中是否有一个锁定UI的循环?您需要发布该问题的代码。无需担心。尝试使用完全相同的代码在不同的保存文件中重新生成程序,错误消失。非常感谢。它工作了,但是空白的错误又回来了。我删除了table&2 picturebox,只留下这个画布的大图片。第二张图片也需要相同的半宽。做得好。