Einzelnen Beitrag anzeigen

Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#1

Scanline in 3 bis 4 MINUTEN.... Ok

  Alt 5. Mai 2004, 09:18
Hi @ all,

wie sollte es auch anders sein ich habe mal wieder ein Problem

Also ich schreib gerade an eine kleinen Grafikkomponten, die so allerlei spielkram wie alpha-transparentz usw kann. Die ganze grafik-veränderung mache ich per Scanline und von hier kommt auch das problem.
Wenn ich ein Bild lade (TBitmap) und es mit meiner Komponente bearbeite geht das ganze sprichwörtlich in milli-sekunden also so flink wie ich das gerne hätte. Ich bin jetzt aber dazu gekommen, dass ich eine zweite instanz meines grafikobjects in einer unterkompontet brauche.

Also Hauptprogram hat eine Grafikkomponente
Ein Unterobjekt hat eine weitere Instanz der Grafikkomponente

So die unterkomponente erzeugt und bearbeitet ein Bild und gibt das als an das Hauptprogram


Routine im Unterobj:
Code:


//Irgendwo davor...
img := TBitmap.Create;
img.PixelFormat := pf24Bit;

usw....

procedure TBox.getPic(var img : TBitmap);
var
    I : Integer;

begin
    For I := 0 to myItemCount - 1 do drawItem(i);
    MyDraw.Render(myImg.Canvas);

    img.Assign(myImg);
end;
(Render erzeugt das Bild)

Nun das eigentliche Problem:
Wenn ich das neue Bild ein weiteres mal mit Scanline barbetien will dauert das an die 3-4min (JA MINUTEN) also einiges zu lange für ein bild mit 300 x 300 px.

Kennt wer das Phänomen?

thx für's nachdenken
Corelgott
  Mit Zitat antworten Zitat