Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Farbe von Bildschirminhalt ermitteln ?

  Alt 2. Jul 2009, 01:10
Ich würd immer für jeden Pixel, welcher noch nicht in einer (def.) Liste existiert, einen neuen Eintrag erstellen und für jeden Pixel, der schon besteht, würde ich den Counter des Eintrages erhöhen

Programmiertechnisch würde das so aussehen:

Delphi-Quellcode:
PPixelCounter = ^TPixelCounter;
TPixelCounter = record
  Pixel: TColor;
  Count: Cardinal;
  Prev, Next: PPixelCounter;
end;

TPixelContainer = class
public
  property List: PPixelCounter Read FList Write SetList;
  procedure Add( Pixel: TColor );
  function GetLastItem(): PPixelContainer;
  function SearchPixel( Pixel: TColor ): PPixelContainer;
end;

// Add erweitert die doppelt verkettete Liste um ein neues Element;
// SearchPixel geht die ganze Liste durch und schaut, ob Pixel enthalten ist und liefert die Adresse des Eintrages zurück
Konkrete Vorgehensweise:
Code:
1. Bildpunkt vom Display/Desktop ermitteln
2. Per SearchPixel prüfen, ob der Pixel schon vorhanden ist (NIL?)
3. Falls es vorhanden ist, dann den Rückgabewert von SearchPixel dereferenzieren und dessen Count Wert um 1 erhöhen
4. Ansonsten einen neuen Eintrag erstellen
So ausführlich hab ich noch niemandem geholfen
Hoffe ich konnt dir helfen

MfG
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat