Zitat von
Sunlight7:
Ich frag mich grad, wie das beim 1. mal zeichnen gehen soll?
Du zeichnest ja nur die Pixel in der 1. Spalte.
Nein, tut er nicht. Siehe folgendes...
Zitat von
Sunlight7:
inc(pix);
Bei einem Pointer net grad zu empfehlen
Und wie das zu empfehlen ist. Was macht Inc()? Inc() erhöht den Pointerwert um SizeOf(PointerType^). Sprich: Er erhöht den Pointer um die Grösse von TRGBTriple und somit schiebt er den Zeiger genau einen Pixel weiter (3 Bytes).
Der Code an sich ist so vollkommen korrekt - und deutlich performanter als dein ständiger neuer Indexzugriff auf lLine. Dort muss der Index errechnet werden und neu zugegriffen werden. Auch hat diese Methode den Nachteil, dass die meist mit einem Maximalwert definierten Byte Arrays bei deutlich breiteren Bildern "die Puste ausgeht" und es zu einem Bereichsprüfungsfehler kommt.