Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: Cmdu76 le Octobre 16, 2013, 11:24:35 pm

Titre: Stocker et utiliser une image depuis une std::string
Posté par: Cmdu76 le Octobre 16, 2013, 11:24:35 pm
Bonjour,

Je suis en train de travailler sur un programme et j'aimerais le distribuer.

Ducoup j'aimerais donner juste le .exe sans filer des documents et fichiers (images/sons/...)

J'aimerais savoir s'il est possible de créer un fichier .cpp à part qui me retourne une std::string contenant le code d'une image (quand on fait clic-droit, ouvrir avec notepad++ ou autres logiciels du même type) et de charger cette string en tant que Texture avec loadFromStream ou un truc du genre...

Voilà, j'aimerais savoir si c'est faisable et surtout si ça a déjà été fait :)
Titre: Re : Stocker et utiliser une image depuis une std::string
Posté par: Threonine le Octobre 16, 2013, 11:50:35 pm
Je ne maîtrise pas ce sujet, mais cette discussion (http://en.sfml-dev.org/forums/index.php?topic=4064.0) pourra peut être te donner un début de réponse.
Titre: Re : Stocker et utiliser une image depuis une std::string
Posté par: Laurent le Octobre 17, 2013, 08:04:59 am
Première chose, cacher les ressources est bien souvent inutile et une perte de temps. Pourquoi veux-tu faire ça ?

Ensuite, c'est tout de même assez simple :
const char imageData[] = {/* le contenu de ton fichier sous forme d'une grosse liste d'octets */};

sf::Texture texture;
texture.loadFromMemory(imageData, sizeof(imageData));

Les utilitaires qui convertissent un fichier en un tableau de char C ne sont pas difficiles à trouver sur le net, ni même à écrire soi-même d'ailleurs.
Titre: Re : Stocker et utiliser une image depuis une std::string
Posté par: Cmdu76 le Octobre 17, 2013, 10:10:05 pm
C'est pas vraiment le fait de les cacher, mais plutôt pour permettre de ne donner qu'un seul .exe sans rien à côté.

En tout cas merci pour vos réponses :)
Titre: Re : Stocker et utiliser une image depuis une std::string
Posté par: Laurent le Octobre 18, 2013, 08:02:38 am
Quelle différence entre un seul exe et une seule archive ? De nos jours les gens sont assez malins pour décompresser un zip non ? :P

Bon je t'embête un peu, mais ce genre de considération revient toujours, et à chaque fois on se rend compte que les développeurs se cassent la tête pour pas grand chose.
Titre: Re : Stocker et utiliser une image depuis une std::string
Posté par: zedex le Octobre 21, 2013, 09:34:07 pm
Je suis un peu d'accord avec Cmdu76, on a beau tout mettre dans une archive, avoir à la racine que le "fichier.exe" et le dossier "ressources", certaines personnes vont toujours dans le dossier en premier lieu et demandent "je clique sur quoi maintenant ?"  ::)
Titre: Re : Stocker et utiliser une image depuis une std::string
Posté par: Laurent le Octobre 21, 2013, 09:57:59 pm
Mouais, faut pas exagérer... les gens sont cons mais pas à ce point.