Ich versuche, einen Screenshot zu erstellen und es von C# zu PHP zu senden, wo ich es speicher.Wie kann ich ein Bild als Stream speichern?
erstelle ich einen Screenshot wie folgt aus:
Bitmap screenshot = TakeScreenshot();
Jetzt versuche ich zu save it as a stream:
Stream myStream;
screenshot.Save(myStream, System.Drawing.Imaging.ImageFormat.Gif);
Allerdings bekomme ich Use of unassigned local variable 'myStream'
.
Was mache ich falsch?
Funktionen:
private Bitmap TakeScreenshot()
{
//Create a new bitmap.
var bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height,
System.Drawing.Imaging.PixelFormat.Format32bppArgb);
// Create a graphics object from the bitmap.
using (var gfxScreenshot = Graphics.FromImage(bmpScreenshot))
{
// Take the screenshot from the upper left corner to the right bottom corner.
gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X,
Screen.PrimaryScreen.Bounds.Y,
0,
0,
Screen.PrimaryScreen.Bounds.Size,
CopyPixelOperation.SourceCopy);
}
return bmpScreenshot;
}
Punkte für 'using', um den Stream zu schließen und zu entsorgen. –
@BradleyUffner - Obwohl es gut ist, konsistent zu sein, müssen Sie keine 'MemoryStream' -Instanz entsorgen, es gibt keine nicht verwalteten Ressourcen, die freigegeben werden müssen. Wenn Sie die 'Dispose'-Implementierung in' MemoryStream' betrachten, passiert eigentlich nichts. – Igor