C / C ++ Image Chargement
Je suis en train de travailler sur un moteur de jeu, et je suis trop une lavette pour écrire l'image chargeurs pour de multiples formats, donc ma question est la suivante: Est-il une abstraction de l'image de chargement de la bibliothèque pour charger les fichiers d'image? J'ai juste besoin de charger des fichiers puis splat à l'écran à l'aide d'un tableau de pixels.
source d'informationauteur Jookia
Vous devez vous connecter pour publier un commentaire.
Je suis toujours un fan de CImg. Il est très facile à utiliser. Un autre utilisateur aimé la réponse. Je vais poster le même exemple que j'ai posté dans la réponse de sorte que vous pouvez voir combien il est facile d'accéder à des pixels et de la dimension info.
FreeImage est une bonne bibliothèque open source
Voici un exemple de code, de données est accessible avec ".de données()"
Il est Du coup de pouce GIL qui a été initialement développé par Adobe. Il pourrait ne pas être le plus intuitif, mais il est certainement l'un des plus complets et puissants libs.
Si vous êtes en utilisant OpenGL, puis Diable est un bon choix car son style et conventions adhérer à OpenGL, plus que toute autre bibliothèque. Il est relativement facile à mettre en place et a également une grande prise en charge de plusieurs formats.
Une chose à propos de la lavette chose. Même s'il est agréable de travail de la 3e partie du code qui a été bien testé et vous fait gagner du temps, il y a quelque chose aussi être dit à propos de l'apprentissage de la manière de l'image des travaux de chargement et pourquoi il fonctionne de la manière qu'il le fait. Si vous voulez vraiment obtenir de bons à quelque chose, je crois que vous avez besoin pour réellement apprendre à le faire à partir de zéro. Même si vous vous retrouvez à l'aide de la 3e partie du code à la fin.
Encore une autre possibilité (principalement, sinon exclusivement pour Windows) est
CXImage
. Son avantage évident par rapport à beaucoup d'autres est de soutenir de nombreux formats camera raw, dans le cas qui vous concerne.Vous pourriez avoir un coup d'oeil à SDL_Imageun sous-projet de la Simple DirectMedia Layer. Il sert comme une simple abstraction pour le chargement de plusieurs formats d'image différents. SDL est écrit en C, mais il est facile à utiliser avec le code C ou C++.
OpenImageIO prend en charge de nombreux formats de fichiers différents, parmi eux, TIFF, JPEG/JFIF, OpenEXR, PNG, HDR/RGBE, ICO, BMP, Targa, JPEG-2000, RMan Zfile, des AJUSTEMENTS, DDS, Softimage PIC, PNM, DPX, Cineon, IFF, Field3D, Ptex, Photoshop PSD, Wavefront RLA, SGI, WebP, et GIF