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

(Firma: dm2sh) #1203889
Lesenswert?

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
Lesenswert?

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.
(Firma: dm2sh) #1226269
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren