Hallo,
ich schreibe gerade ein Programm das regelmäßig ein Screenshot vom Desktop macht. Der Code läuft in einem Timer und wiederholt sich alle paar Minuten.
Jetzt habe ich das Problem das mir der Arbeitsspeicher vollläuft, durch den Code mit dem die Screenshots gemacht werden.
Weiß jemand wie ich dem Problem entgegen wirke bzw. Arbeitsspeicher wieder freigeben wenn der Code im Timer einmal durchgelaufen ist.
ich schreibe gerade ein Programm das regelmäßig ein Screenshot vom Desktop macht. Der Code läuft in einem Timer und wiederholt sich alle paar Minuten.
Jetzt habe ich das Problem das mir der Arbeitsspeicher vollläuft, durch den Code mit dem die Screenshots gemacht werden.
Weiß jemand wie ich dem Problem entgegen wirke bzw. Arbeitsspeicher wieder freigeben wenn der Code im Timer einmal durchgelaufen ist.
C#-Quellcode
- void t1_Tick(object sender, EventArgs e)
- {
- // Capture the screen
- Bitmap screenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
- Graphics graphics = Graphics.FromImage(screenshot);
- graphics.CopyFromScreen(0, 0, 0, 0, screenshot.Size);
- //Farbcode auslesen
- Bitmap b = new Bitmap(screenshot);
- Color c = b.GetPixel(1333, 972);
- if (c.R.ToString() + c.G.ToString() + c.B.ToString() == "25079")
- {
- t1.Stop();
- Return();
- }
- }