Entwickler-Ecke
Multimedia / Grafik - CopyFromScreen-Alternative
Spectus.gn - Di 13.01.09 15:04
Titel: CopyFromScreen-Alternative
Hi an alle,
habe mal wieder ein massives Problem.
und zwar ist die Graphics.CopyFromScreen()-Methode viel zu langsam. damit macht man effektiv 3-6 Bilder pro Sekunde.
Ich will jedesmal den ganzen Screen "abfotografieren", da es bei der CopyFromScreen()-Methode egal ist, ob man nur einen Teil-screen oder den ganzen möchte. reichen würde mir aber auch nur ein teil.
Kann mir einer eine schnellere Alternative nennen?
so siehts momentan aus
C#-Quelltext
1: 2: 3:
| Bitmap test1 = new Bitmap(SystemInformation.PrimaryMonitorSize.Width, SystemInformation.PrimaryMonitorSize.Height); Graphics test = Graphics.FromImage(test1); test.CopyFromScreen(0,0, 0, 0, test1.Size); |
Vielen Dakn im Vorraus.
Spectus.gn
Kha - Di 13.01.09 17:41
Titel: Re: CopyFromScreen-Alternative
Spectus.gn hat folgendes geschrieben : |
und zwar ist die Graphics.CopyFromScreen()-Methode viel zu langsam. damit macht man effektiv 3-6 Bilder pro Sekunde. |
Wenn du das Bild danach speicherst, hast du das auch mitberechnet? Bzw. was hast du überhaupt vor ;) ?
Ich weiß nicht, ob es viel bringt, aber versuch einmal, nicht das Bitmap und das Graphics-Objekt nicht jedes Mal neu zu erstellen, sondern beide in einer Variablen zu speichern.
Spectus.gn - Di 13.01.09 18:24
Die Bitmap wird nur verarbeitet und nicht gespeichert. Daher weniger zeitlicher Aufwand. Aber dieses CopyFromScreen() dauert ewig. Am besten wären 20+ Verarbeitungen pro Sekunde.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| Bitmap tBitmap = new Bitmap(SystemInformation.PrimaryMonitorSize.Width, SystemInformation.PrimaryMonitorSize.Height); Graphics tGraphics = Graphics.FromImage(test1);
tGraphics.CopyFromScreen(0,0, 0, 0, tBitmap.Size); while(!(tBitmap.GetPixel(x,y) == Color.FromARGB(255,255,255,255))) { tGraphics.CopyFromScreen(0,0, 0, 0, tBitmap.Size); } |
Hat jemand ne Idee?
Spectus.gn - Di 13.01.09 21:09
vielen Dank für die Hilfe. Es funktioniert und ist verdammt schnell.
100 Scrennshots in 0,2 Sekunden. Damit lässt sich arbeiten.
Den Quelltext poste ich in naher Zukunft.
MfG und Danke
Spectus.gn
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!