c#位图到picturebox中
本文关键字:picturebox 位图 | 更新日期: 2023-09-27 18:21:39
`
public Bitmap catchFullScreen()
{ Bitmap r = new Bitmap(SystemInformation.VirtualScreen.Width ,SystemInformation.VirtualScreen.Height);
Rectangle bounds = new Rectangle (0,0,SystemInformation.VirtualScreen.Width ,SystemInformation.VirtualScreen.Height);
using (Bitmap bitmap = new Bitmap(SystemInformation.VirtualScreen.Width ,SystemInformation.VirtualScreen.Height))
{
using (Graphics g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
r = bitmap;
pictureBox1.Image = r;
pictureBox1.Update();
pictureBox1.Refresh();
}
pictureBox2.Image = r; // breakpoint 1
pictureBox2.Update(); // breakpoint 2
pictureBox2.Refresh();
}
pictureBox3.Image = r;
pictureBox3.Update();
pictureBox3.Refresh();
return r;
}
`这是我的捕获截图,但发生了一些奇怪的事情,picturebox1和2可以捕获,但picturebox3不能。此外,断点1有效,但断点2从未到达,
为什么我不能在使用例程之外使用此位图??更重要的是它不会返回r?请提出建议!
位图是一个类,它是一种引用类型。当您处置bitmap
时,您也处置了r
。如果您想在处理bitmap
时继续使用r
,请考虑使用类似Bitmap.Clone.的东西