Bild durch Pixelangabe erzeugen
-
MisterX schrieb:
Ich denke er möchte die Bildinformationen so als Matrix angezeigt bekommen wie sie im Bild stehen würden.
Richtig.
@cocky
Ist mir egal, es geht einfach darum das ich die Pixel praktisch in einem Array habe und gerne anzeigen möchte.
-
Vor kurzem habe ich auch sowas gebraucht, da ich 16x16 Array mit Grauwerten hatte. Nachdem mir der Aufwand mit gnuplot dafür zu groß war (http://gnuplot.sourceforge.net/demo/image.html) habe ich das geschwind in ein paar Zeilen und Minuten mit C# realisiert. Das http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.aspx + SetPixel und Save ist alles was du brauchst. Ne bestehende Software habe ich dazu leider nicht gefunden.
-
KasF schrieb:
Vor kurzem habe ich auch sowas gebraucht, da ich 16x16 Array mit Grauwerten hatte. Nachdem mir der Aufwand mit gnuplot dafür zu groß war (http://gnuplot.sourceforge.net/demo/image.html) habe ich das geschwind in ein paar Zeilen und Minuten mit C# realisiert. Das http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.aspx + SetPixel und Save ist alles was du brauchst. Ne bestehende Software habe ich dazu leider nicht gefunden.
Danke dafür, allerdings möchte ich nicht so wirklich etwas mit C# zu tun haben
Hätte vielleicht anfügen sollen das ich ausschleisslich mit C++ arbeite, Sorry.
-
Wieso nicht? Du willst doch ein Problem lösen, also nimmst das, womit du es schnell und effektiv lösen kannst.
Du kannst dich natürlich in C++ erstmal nach einer Bibliothek umschauen und dich tot-frickeln oder einfach geschwind diese 10 Zeilen in C# runtertippen. Gut gemeinter Tipp: Versteif dich nicht zu sehr auf C++. Ich liebe zwar auch diese Sprache, aber es gibt auch Alternativen, die dir ein bestimmtes Problem effizienter lösen.
-
Ich habe nen alten und unfertigen Loader für Targa Dateien, funktioniert aber mit "normalen" targas. Ist in C++ geschrieben. Hilft der dir?
-
cooky451 schrieb:
Ich habe nen alten und unfertigen Loader für Targa Dateien, funktioniert aber mit "normalen" targas. Ist in C++ geschrieben. Hilft der dir?
Wenn dein Loader auch Targa's schreibt sehr gerne! :xmas2: (Ist ja wie Weihnachten :xmas1: )
Übrigens, ich mag die scheiß Smileys :xmas1: :xmas1: :xmas2: :xmas2:
-
Argh.. der ist gerade etwas integriert in ein anderes Projekt, aber ich poste mal die für dich relevanten Teile:
struct TargaColorMapSpec { uint16_t entry_index; uint16_t color_map_length; uint8_t color_map_entry_size; }; struct TargaImangeSpec { uint16_t x_origin; uint16_t y_origin; uint16_t width; uint16_t height; uint8_t pixel_depth; uint8_t image_descriptor; }; struct TargaHeader { uint8_t id_length; uint8_t color_map_type; uint8_t image_type; TargaColorMapSpec color_spec; TargaImangeSpec image_spec; }; // Datei öffnen / Einlesen TargaHeader header; reader.read(header.id_length); reader.read(header.color_map_type); reader.read(header.image_type); reader.read(header.color_spec.entry_index); reader.read(header.color_spec.color_map_length); reader.read(header.color_spec.color_map_entry_size); reader.read(header.image_spec.x_origin); reader.read(header.image_spec.y_origin); reader.read(header.image_spec.width); reader.read(header.image_spec.height); reader.read(header.image_spec.pixel_depth); reader.read(header.image_spec.image_descriptor); // Ab jetzt (width * height * pixel_depth / 8) byte einlesen, das sind deine Pixel.
Schreiben solltest du mit etwas umbauen auch können.
-
Danke Digga :xmas2:
-
Kóyaánasqatsi schrieb:
Ideal wäre, wenn ich die Pixeldaten + Pixel itself (egal welche Formatierung) in eine einfache Textdatei schreiben könnte und dieses Textfile angezeigt werden kann.
ppm-Format
-
ppm bzw. varianten: http://en.wikipedia.org/wiki/Netpbm_format
-
ppm
Danke!