Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Farbe von Bildschirminhalt ermitteln ?

  Alt 2. Jul 2009, 17:34
RGB wird unter Windows meist in der Reihenfolge BGR gespeichert. Du kommst ohne Konvertierungen aus, wenn du statt TColor TColor32 nimmst, und statt Get*Value die Funktionen RedComponent usw. der G32 nimmst. Die G32 ist in der Tat mit das schnellste beim Pixelzugriff. Bist du sicher, dass die Screenshotfunktion nicht der Engpass ist?
Ich würde mir da lieber den DC vom Desktop abholen (GetDC(0)), und aus diesem auch wirklich immer nur die Stücke die ich brauche in ein passend großes Bitmap werfen. Das spart eine Menge Pixel aus der Mitte, und ist je nach dem wie die Screenshot-Funktion arbeitet auch von sich aus schon schneller.
Letztlich musst du aber auch sehen, dass es durchaus einige Arbeit ist diese Menge an Pixeln durchzuackern. Alle 25ms ist das ne ganz schön happige Angelegenheit.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat