GIF, JPG, PNG, Bilder in RGB-Feld wandeln C/C++

OP (Firma: dm2sh) #1203889
Hallo,

mit welcher Funktion/Bibliothek liest man am besten die RGB-Werte einer 
Bild-Datei in ein 2D-Feld ein? - also so ungefähr:
1
unsigned long Feld[1600, 1200];
2
FILE * datei = open("bild.jpg", READ);
3
Image_to_RGB(datei, Feld);

Klar gibt es da wohl mehrere Libraries/Möglichkeiten und dann ist es 
wohl noch von Windows zu Linux unterschiedlich. Ich möchte von euch 
gerne wissen, was da die gängigste Methode ist?
Gast #1203983
Alternativ sucht man sich eine Bibliothek, die viele solche Formate in 
ein einheitliches API kombiniert. Dann braucht man sich in der Regel gar 
nicht mehr darum zu kümmern, was da eigentlich für ein Format 
dahintersteckt.
Beispiele, die mir so aus dem Stegreif einfallen, wären 
libgraphicsmagick und devil.

http://www.graphicsmagick.org/
http://openil.sourceforge.net/

Diese Libs gibt es für beide erwähnten Betriebssysteme. Man kann also 
unter beiden auf die gleiche Art auf die Datei zugreifen.
OP (Firma: dm2sh) #1226269
So ich habe jetzt "ImageMagick-6.5.1-1-Q16-windows-dll.exe" installiert. 
Da sind die DLL-Dateien und die Header drinnen, bei den anderen 
Varianten fehlte das immer. Nun habe ich bei dev-c++ den include-pfad 
hinzugefügt und es kommt die Meldung "undefined reference". Scheinbar 
findet der nicht die Bibliothek, auf die der Header verweist.
Was muss ich jetzt noch machen?
Gast #1226307
Wer bringt diese Meldung? Compiler? Linker? Programm? Betriebssystem? 
Ich kann mir auch nicht vorstellen, daß "undefined reference" die ganze 
Fehlermeldung ist. Steht da wirklich kein Name dabei, was "undefined" 
ist und auch keine Information darüber, wo diese "reference" ist?
Gast #1226565
Das heißt, daß du dein Programm nicht gegen die Bibliothek linkst. Ich 
kenne mich mit Dev-C++ nicht aus, aber du wirst dort irgendwo eine Liste 
der zu linkenden Bibliotheken angeben können, und da muß die von 
ImageMagick mit dazu.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.