Einzelnen Beitrag anzeigen

Green

Registriert seit: 11. Jun 2006
156 Beiträge
 
#1

Zeichenroutine optimieren...

  Alt 11. Jan 2008, 21:42
Delphi-Quellcode:
procedure TForm1.AssignColors(PB: TProgressbar);
var
  i, j: integer;
begin
  Image.canvas.brush.color:=clBlack;
  Image.canvas.rectangle(0,0,AufloesungX,AufloesungY);
  for i := 0 to AufloesungX - 1 do begin
    for j := 0 to AufloesungY - 1 do begin
      if not (CountArray[i,j] = Form3.TrackBar1.Position + 1) then
        MandelImage.Canvas.Pixels[i,j] := Image10.Canvas.Pixels[1,CountArray[i,j]];
    end;
    PB.Position := PB.Position + 1;
  end;
  PB.Position := 0;
end;
Diese funktion wandelt ein aus zahlen bestehendes Zweidimensionales Array in ein Bild um.
Sie funktioniert ist aber recht langsam.

Bei einer aufloesung von 1280 * 1024 geht das durchaus 5-6 sekunden.

Programme wie Paint oder IrfanView (insbesondere) Irfan brauchen bruchteile von sekunden um ein Bild zu zeichnen und das ja auch aus gegebenen Zahlenwerten.

Wie kann man das jetzt optimieren??

lG Green
  Mit Zitat antworten Zitat