Reihenfolge für Image.putdata() ?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

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.
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.
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

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
ichbinsisyphos
User
Beiträge: 120
Registriert: Montag 4. Juni 2007, 19:19

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.
Antworten