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