2010-12-08 7 views

Antwort

6

kann keinen Kommentar, fügen Sie so hier geht :)

Eigentlich sollte man image[Y][X] wollen, da erste [] Sie Y ten Zeile bekommt, und dann in die X -te Spalte in dieser Zeile.

Btw, ich bin der Autor von PNG ++. Fühlen Sie sich frei, um spezifischere Fragen auf der Mailing-Liste oder bei meiner privaten E-Mail oder hier, wenn Sie möchten, zu stellen. :)

+0

Danke;) Wo soll ich das ändern zu [X] [Y]? Sieht für mich logischer aus. Wann werden Sie das auch umsetzen? Zitat aus end_info.hpp "" // TODO: füge Methoden hinzu, um Textkommentare etc. zu lesen/schreiben. "" – nebkat

+0

@Neb: so funktioniert 'operator []' in C++: du darfst nur einen Parameter an ihn übergeben. In PNG ++ wird das Bild als Vektor von Zeilen betrachtet, also erhält 'image [N]' dann die N-te Zeile. Wenn Sie einen intuitiveren Zugang zu Pixeln wünschen, verwenden Sie 'get/set_pixel (x, y)'. Es hat eine Strafe für die Überprüfung der Reichweite seiner Indizes. Über die Unterstützung von Textkommentaren: wenn ich genug Freizeit und Motivation habe oder jemand einen wirklich guten Patch schickt. :) – alex

+0

@alex, könnten Sie etwas Licht auf das interne Speicherlayout der Pixel werfen? Wenn zum Beispiel die Zeilen (Scanzeilen?) Zusammen zugewiesen und gepackt werden, könnte ich vielleicht ein PNG als Textur in meinen OpenGL-Kontext unter Verwendung eines Zeigers laden, anstatt es zuerst Pixel für Pixel in den Speicher zu kopieren. Übrigens, deine Bibliothek ist ordentlich und ziemlich hilfreich. Ich wette, dass ich das wahrscheinlich selbst beantworten könnte, wenn ich noch mehr graben würde, aber ich wollte zuerst fragen. Vielen Dank! –

2

Ich habe noch nie png ++ verwendet, aber aus den documentation on pixel Lesen Ich glaube, Sie ein Pixel zugreifen können (X, Y) von png::image<T> image mit image[Y][X] und greifen dann die roten, grünen und blauen Werte von image[Y][X].red Zugriff usw.

+0

Ich werde es ausprobieren. Ich bin ein Anfänger in C++, so verstehe ich nicht wirklich viel: S – nebkat

+0

Funktioniert gut, danke! – nebkat