Seite 1 von 1

Reihenfolge für Image.putdata() ?

Verfasst: Montag 3. August 2009, 19:32
von ichbinsisyphos
Ich welcher Reihenfolge erwartet putdata() die Farbwerte? Irgendwie von links oben beginnend, meanderförmig zuerst horizontal nach rechts?

Ich komm nicht drauf, sicher ist nur dass meine Bilder extrem bizarr aussehen.

Gibts außerdem eine effektive Möglichkeit arrays, lists dann in diese Reihenfolge umzuschlichten?

Ich berechne meine Werte normal in dem ich für jeden x-Wert alle y-Werte berechne, dann zum nächsten x-Wert springe und von y=0 neu beginne.

Verfasst: Montag 3. August 2009, 19:44
von BlackJack
@ichbinsisyphos: Die Daten werden Zeilenweise im Speicher abgelegt, es werden also erst alle Daten für die erste Zeile erwartet, gefolgt von denen für die Zweite usw.

Verfasst: Montag 3. August 2009, 19:52
von ichbinsisyphos
Bist du dir sicher? Und die neue Zeile beginnt wieder bei x=0? Dann könnt einfach zuerst über y iterieren und dann über x.
Und y in umgekehrter Reihenfolge, obwohl ob das Bild um die Horizontale gespiegelt ist, ist mir egal.


So sieht mein Ergebnis mit putdata() aus:
http://omploader.org/vMjM5aQ/putdata.png

So sollts aussehen (mit putpixel() realisiert):
http://omploader.org/vMjM5ag/putpixel.png

Verfasst: Montag 3. August 2009, 20:02
von ichbinsisyphos
Ja, haut hin. Ich hab zuerst nur die Iterationsreihenfolge geändert. Da ich aber die Werte per Index in den colorarray schreibe musste ich den noch von [y*width + x] auf [x*height + y] ändern.

Danke.