Einzelnen Beitrag anzeigen

sonny2007

Registriert seit: 27. Aug 2009
39 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#26

AW: Thread läuft nicht parallel --

  Alt 10. Jan 2014, 11:04
sorry, aber man lernt ja nie aus

okay nun mal ein wenig deinen Link verfolgt und da wird auch einiges klar
logisch das dies dann schneller sein sollte.
Deshalb mal der erste Versuch ...

Delphi-Quellcode:
type
  TRGBTripleArray = array [0..50000000] of TRGBTriple;
  pRGBTripleArray = ^TRGBTripleArray;

var
  x,y : Integer;
  ScreenP,SearchP : pRGBTripleArray;
  SearchBMP,ScreenBMP : TBitmap;
  starttime: integer;
begin
  Try
    SearchBMP := Tbitmap.create;
    ScreenBMP := Tbitmap.create;
    SearchBMP.Assign(Image1.Picture.bitmap);
    ScreenCapture(ScreenBMP);


    SearchP := SearchBMP.ScanLine[0];


    starttime := GettickCount;
    for y := 0 to ScreenBMP.Height - 1 do
      ScreenP := ScreenBMP.ScanLine[y];
      for x := 0 to ScreenBMP.Width - 1 do
      begin
        if CompareMem(ScreenP,SearchP[x],SearchBMP.width*3) then // <------- Hier der Fehler
          showMessage('gefunden');
        end;
Es kommt logischerweise der Fehler ... Pointer und TRGBTriplearray unterschiedliche Typen
Wie lautet der richtige Syntax um dies richtig zu übergeben ?

danke im Voraus.
s0n
  Mit Zitat antworten Zitat