Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| 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 Image.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