gpt4 book ai didi

c# - 在 C# 中将形状放在图像前面

转载 作者:行者123 更新时间:2023-11-30 15:37:27 27 4
gpt4 key购买 nike

我有一张人体图片,我想用形状来定位病人的受伤部位。当用户单击按钮时,所有形状都会显示出来。现在我只测试一种形状。

这是我的代码。

private void button7_Click_4(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
g.Clear(this.BackColor);

Image img = Image.FromFile("C:\\Users\\HDAdmin\\Pictures\\humanbody\\effect2.png");
g.DrawImage(img, 0, 0, img.Height, img.Width);
g.Dispose();
}

现在,形状出现在图像的后面。那么我要如何让形状出现在图片前面呢?

enter image description here

最佳答案

几个问题。

1) 绘画应该发生在绘画事件中。不要使用 CreateGraphics,因为那只是临时绘图。

2) 您的 DrawImage 宽度和高度参数颠倒了。

3) 它看起来不像是在绘制窗体上的 PictureBox 控件:

private Image img;

public Form1() {
InitializeComponent();
button1.Click += button1_Click;
pictureBox1.Paint += pictureBox1_Paint;
}

void button1_Click(object sender, EventArgs e) {
img = = Image.FromFile("C:\\Users\\HDAdmin\\Pictures\\humanbody\\effect2.png");
pictureBox1.Invalidate();
}

void pictureBox1_Paint(object sender, PaintEventArgs e) {
e.Graphics.Clear(pictureBox1.BackColor);

if (img != null) {
e.Graphics.DrawImage(img, 0, 0, img.Width, img.Height);

//Draw test shape:
e.Graphics.DrawRectangle(Pens.Red, new Rectangle(10, 10, 20, 60));
}
}

关于c# - 在 C# 中将形状放在图像前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12593466/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com