Relevante Code:System.ArgumentException auf zurück Bitmap
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 eine Ausnahme auslöst, wie ich Schritt durch den Code und erhalten zu
return screenImage
Aus irgendeinem Grund die Integrität der Bitmap schlägt fehl, nachdem es
using (screenImage = new Bitmap(panelPreview.Width, panelPreview.Height))
{...
}
verlässt
Irgendwelche Hilfe würde geschätzt, danke.
Warum nicht vorhandene Proben wie [so] wiederverwenden (http://stackoverflow.com/questions/362986/capture-the-screen-into-a-bitmap) –
'Using' disposed die Bitmap. Nichts kann es benutzen, sobald Sie es zurückgeben. Entfernen Sie den äußeren Verwendungsblock und geben Sie nur die Bitmap zurück. Dann, wenn Sie es im Rest des Codes verwenden, können Sie es entsorgen. – FloatingKiwi
@LeiYang Ich habe versucht, es zu trennen, also könnte ich es woanders verwenden, ohne den Code mehrmals neu zu schreiben, aber ich kann es umgehen. Vielen Dank für Ihre Hilfe. – Pearcy