Bonjour,
J'ai remarqué que la fonction loadFromMemory provoquait des erreurs que la fonction loadFromFile ne provoquait pas. Voici un exemple ce code dans lequel le chargement d'une font par la mémoire ne fonctionne pas alors que le chargement de la même font directement à partir du fichier fonctionne.
Je suis sur Windows 7, avec Code::Blocks 13.12. J'utilise SFML 2.1 que j'ai recompilé sur mon ordi.
#include <iostream>
#include <SFML/Graphics.hpp>
int main()
{
sf::Texture texture;
if (!texture.loadFromFile("data/cursor_icon.png"))
std::cout << "LoadFromFile failed" << std::endl;
else
std::cout << "LoadFromFile success" << std::endl;
std::ifstream file;
file.open("data/cursor_icon.png");
std::vector<char> buffer_;
std::streampos length;
if (file.is_open())
{
file.seekg(0,std::ios::end);
length = file.tellg();
file.seekg(0,std::ios::beg);
buffer_.resize((unsigned)length);
file.read(&buffer_[0],length);
file.close();
}
sf::Texture texture2;
if (!texture2.loadFromMemory(&buffer_[0], (unsigned)length))
std::cout << "LoadFromMemory failed" << std::endl;
else
std::cout << "LoadFromMemory success" << std::endl;
}
La sortie de console est la suivante:
LoadFromFile success
Failed to load image from memory. Reason : Image not of any known type, or corrupt
LoadFromMemory failed
Est-ce moi qui fait n'importe quoi? Ou est-ce cette fonction qui ne fait pas ce qu'elle devrait?
Merci d'avance pour votre réponse