【发布时间】:2017-03-30 01:38:13
【问题描述】:
相关代码:
private Bitmap GetScreenShot()
{
Bitmap screenImage = null;
using (screenImage = new Bitmap(panelPreview.Width, panelPreview.Height))
{
using (Graphics g = Graphics.FromImage(screenImage))
{
Rectangle rectanglePanelVideoPreview = panelPreview.Bounds;
Point sourcePoints = panelPreview.PointToScreen(new Point(panelPreview.ClientRectangle.X, panelPreview.ClientRectangle.Y));
g.CopyFromScreen(sourcePoints, Point.Empty, rectanglePanelVideoPreview.Size);
}
}
return screenImage;
}
当我单步执行代码并到达时,Bitmap screenImage 会引发异常
return screenImage
由于某种原因,Bitmap 离开后的完整性失败
using (screenImage = new Bitmap(panelPreview.Width, panelPreview.Height))
{...
}
任何帮助都将不胜感激,谢谢。
【问题讨论】:
-
为什么不重用现有的样本,例如so
-
Using处理位图。一旦您退回它,任何东西都将无法使用。删除外部 using 块,只返回位图。然后,当您在其余代码中完成使用它时,您可以将其处理掉。 -
@LeiYang 我试图将它分开,这样我就可以在其他地方使用它而无需多次重写代码,但我可以解决它。非常感谢您的帮助。
-
@FloatingKiwi 效果很好,非常感谢您的帮助。
标签: c# exception bitmap return screenshot