【问题标题】:Take screenshot of panel截取面板截图
【发布时间】:2019-10-28 15:14:02
【问题描述】:

我想通过单击按钮保存面板屏幕截图。 我试试这个

private void SPREMI_Click(object sender, EventArgs e)
{
    Bitmap bmp = new Bitmap(panel1.Width, panel1.Height);
    panel1.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
    bmp.Save(@"test.bmp");
}

代码非常好,但是有一个问题:当你把面板和标签放在图片上时,在图片上只有面板对我可见。

这是它在程序中的样子:

这是我用这段代码保存时得到的:

当我将图像保存为程序中的样子时,任何人都可以帮助我,即在这种情况下,我想查看 label1

【问题讨论】:

  • 好吧,第一张图片是 2 个字符,距离吐出的图像第二张是绿色矩形.. 图片是如何进入面板的
  • 你使用的这个方法有很多限制stackoverflow.com/questions/8738054/…
  • @OlivierRogier 在这种情况下,我们是一样的,但这不是重复的,因为我对制作截图不感兴趣,而是如何查看那个镜头中的所有内容。
  • @OlivierRogier 我想创建一个可以清楚地看到所有内容的屏幕截图,请参阅上面的链接,其中我留下了我想要的图片以及我使用上面提供的代码得到的结果

标签: c#


【解决方案1】:

如果您使用 PictureBox 来保存图片,并且想要保存带有标签的面板屏幕截图并且 PictureBox 在面板上,请尝试以下操作:

private void SPREMI_Click(object sender, EventArgs e)
{
    pictureBox1.Controls.Add(label1);
    Bitmap bmp = new Bitmap(panel1.Width, panel1.Height);
    panel1.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
    bmp.Save(@"test.bmp");
}

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多