首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C#中的两个画框之间画一条线?

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

Stack Overflow用户
提问于 2019-12-18 07:22:28
回答 1查看 433关注 0票数 1

我目前的任务是制作一个程序,在两张图片之间画线。在未来,该线路将被旋转,但仍然连接为一条线。目前,试图使两张图片之间的线路连接第一。目前使用2个面板作为图片和大图片框设置为透明覆盖两个面板作为画布绘制线条,但在进行测试运行时,表单是空白的,就像在图片中一样。我的问题是。

  1. 如何修复这个空白错误?如果可以修复这一点,则可以在“大图片框”上绘制跨越图片的线条。
  2. 如果不能的话。是否有其他方法可以在两个图片盒之间画线/连接图片?非常感谢。

我不知道搜索错误的关键字。我试过使用picturebox & panels,但是结果是一样的。

以2个面板作为图片框的表单

覆盖面板的大图片框

空白误差结果

编辑。试着将1张大图片盒分割成2张图片。它适用于线条绘制,但下面按钮的空白错误已返回。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-18 08:07:52

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

代码语言:javascript
复制
    Image image1 = Image.FromFile(@"C:/Users/RPC1940/Pictures/500px.jpg");
    Image image2 = Image.FromFile(@"C:/Users/RPC1940/Pictures/500px2.jpg");

然后,在picturebox top事件上,将图像绘制到主画布上,并在顶部绘制您的线条。这没有考虑到伸展等,但应该给你一个开始。

代码语言:javascript
复制
    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);
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59387216

复制
相关文章

相似问题

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