CImg en libjpeg
Vandaag heb ik wat zitten implementeren. Of liever gezegd proberen…
Ik moest iets hebben om images te kunnen voorstellen in c++. Mijn keuze is gegaan naar de bibliotheek: CImg. Dit is een soort van wrapper klasse voor verscheidene formaten. Hoewel dit een leuk hebbedinkje is, is die mss wat groot en te uitgebreid voor wat ik ga doen. Kans bestaat dat ik later zo’n eigen klasse maak, als ik tijd overheb.
Het probleem was dat er enkel lage formaten en BMP wordt native ondersteund wordt. (zoals alle andere) Dus moest ik wel een jpeg decoder/encoder gaan zoeken. Hier ben ik het vrije libjpeg van het ijg tegengekomen. Hoewel deze wat traag schijnt te zijn, heb ik nu voor deze package gekozen. Misschien schakel ik later over naar een ander pakket. Dit hangt van compatibiliteit met andere processors en “gratis zijn” af.
Het hele verbinden met elkaar was een hele tocht, maar kwam op volgende 2 problemen neer.
- Deftig linken van hulp bibliotheken. (het duurde een tijdje voor ik wist hoe het in c++ in mekaar zat, en hoe visual c++ 7 (afgekort vc7) hier mee om sprong: compilen van libjpeg, linken in settings en includen in code met “extern c”)
- Enkele bugs met vc 7 en libjpeg
Zulke dingen houden je wel bezig. Ik kan nu toch al deftig met images werken. Later zal ik er waarschijnlijk support voor png/tiff in verwerken.