Question

Quelqu'un sait-il un bon échantillon C qui charge bitmaps et gère tous les cas: RLE, bitmaps b / w, etc.

Code devrait être multiplateforme.

Merci.

Était-ce utile?

La solution

Je suggère d'utiliser une bibliothèque comme l'image SDL

Autres conseils

Si vous cherchez un minimum chargeur bmp ce lien vous donnera tout ce que vous devez savoir sur le format BMP, des structures de données et des exemples de code sans dépendance de bibliothèque à la charge:

http://paulbourke.net/dataformats/bmp/ .

Il contient également le code pour voir le BMP chargé dans une texture gl ouverte, donc à peu près tout ce que vous avez besoin ...

Chris Backhouse a fait un chargeur peu BMP fonctionnelle (avec un oeil pour les utiliser comme textures OpenGL). Il est C ++, C pas, et il admet qu'il est pas multi-plateforme. Cependant, il est petit et facile à comprendre, donc je pensais que je voudrais ajouter le lien ici:

http://users.ox.ac.uk/~orie1330/bmploader .html

Vous avez besoin d'une bibliothèque externe pour le faire (je vous recommande ImageMagick ). Le site Web ImageMagick comprend également la documentation et des exemples.

Consultez pour la bibliothèque OpenCV développée par Intel.

Si vous êtes lié au format de fichier BMP, il est assez simple de regarder l'en-tête vous et obtenir les pixels. Voir cette recherche google . L'un des matchs les plus intéressants est . La plus grande partie de la contre-intuitive est que chaque ligne de pixels est aligné sur 4 octets. Aussi, méfiez-PGO comprimé ... (Mon expérience est que de nombreux outils tiers ont des problèmes avec les PGB comprimé, alors peut-être quelques bibliothèques que vous rencontrez sera aussi ..)

Si vous n'êtes pas lié au format de fichier BMP, je recommande libpng. manuel fournit un exemple de code qui est assez clair .

Comme d'autres ont suggéré que vous pouvez utiliser une bibliothèque externe comme SDL. Si vous voulez apprendre quelque chose et de le faire vous-même, voir ma réponse à cette question très similaire: Obtenir les valeurs RVB pour chaque pixel d'une bitmap 24bpp pour la conversion au format GBA en C où vous trouverez un code C qui imprime chaque pixel, et jeter un oeil à la page wikipedia sur les fichiers bmp, car il est très bon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top