J'utilise la bibliothèque FreeImage pour gérer le chargement des images et leur transmission à OpenGL. Actuellement, je supporte la lecture d'une image à partir d'un fichier. Cependant, je voudrais étendre cela à pouvoir lire à partir d'une variable dans le but de paquets de contenu de jeu. Fondamentalement, en bref, j'ai le fichier entier, en-tête et tout, écrit à un char * non signé. Je veux prendre ce tampon et faire quelque chose de similaire à ce avec elle (en supposant fif variable est déclarée):Récupération des données d'image de la mémoire
FIBITMAP * dib = FreeImage_Load(fif, "someImage.png");
mais au lieu de someImage.png, je veux spécifier le unsigned char * (permet de l'appeler tampon pour l'intérêt de la question). Y at-il une méthode dans la bibliothèque qui peut gérer une telle chose?
EDIT: Je devrais être un peu plus spécifique étant donné que "someImage.png" peut être considéré comme un char non signé *.
Pour effacer la confusion jusqu'à, le cas échéant, la valeur de tampon unsigned char * serait déterminé par quelque chose comme ce pseudo-code:
fileStream = openFile "someImage.png"
unsigned char * buffer = fileStream.ReadToEnd
Cela pourrait être ce dont j'ai besoin, je vais essayer. +1! – MGZero
Désolé, mais pourriez-vous expliquer ce que fait exactement le paramètre pitch? Je ne comprends pas très bien la documentation, probablement parce que je ne sais pas vraiment ce qu'est un scanline. – MGZero
Pitch est le nombre d'octets par ligne de l'image. Il est généralement rembourré pour être un peu plus grand que la largeur de l'image pour des raisons d'alignement et de performance. Si votre image est fortement emballée, elle sera juste largeur * octets par pixel. – Mikola