Einzelnen Beitrag anzeigen

Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#5

AW: TBitmap32 in ByteArray (schneller) oder Alternative

  Alt 15. Apr 2013, 23:01
Hm ok ich stehe wohl etwas auf dem Schlauch

Delphi-Quellcode:

var
    Pic2:TByteArray;
    i,j,ges:integer;
    R,G,B:byte;
    color:TColor;
    P: PColor32Array;
    C: TColor32;
begin
    SetLength(Pic2,320*240*4);

   ges:=0;
   P:=VirtualBitmap.Bits;
   for I := 0 to 320*240-1 do
    begin
      C:=P[i];
      Pic2[ges]:=TColor32Entry(C).R;
      Pic2[ges+1]:=TColor32Entry(C).G;
      Pic2[ges+2]:=TColor32Entry(C).B;
      Pic2[ges+3]:=255;
      ges:=ges+4;
    end;
   // ...
   LogiLcdColorSetBackground(Pic2);
So sieht das bisher bei mir aus - ist etwas umständlich gemacht, weil die Schleife noch von der alten Methode übrig geblieben ist.
Die benötigten Werte stehen ja auch in C.Planes drin vermute ich?!
Auf diese Weise erhalte ich zwar generell das gewünschte Bild auf dem G19 LCD, doch lediglich den ersten Frame - nach dem Update (LogiLcdColorSetBackground)
kommt eine schöne Fehlermeldung:

Zitat:
In Projekt xyz.exe trat ein problem mit folgender Meldung auf: 'pivileged instuction at 0x0018fd95'. ...
Da scheint wohl irgendein Problem beim Aufruf vorzuliegen...
  Mit Zitat antworten Zitat