PDA

Voir la version complète : [µLibrary][Aide] chargement de fichier image


gorgull
26/04/2007, 18h23
Salut,

Je suis en train de jeter un coup d'oeil à uLibrary en étudiant/modifiant les exemples, et je recontre un problème.

J'essaye de charger des images directement à partir des fichiers plutot qu'en les intégrant à l'archive .nds.

J'ai modifié l'exemple 6 comme ça:

//this->imgBall = ulLoadImageFilePNG((const char*)ball, (int)ball_size, UL_IN_VRAM, UL_PF_PAL2);

remplacé par:

this->imgBall = ulLoadImageFilePNG("/ball.png", 0, UL_IN_VRAM, UL_PF_PAL2);

dans CBall.h

(à ce propos, il y a une petite erreur dans le commentaire au dessus:
//We load our Tails character image. Note that the format is PAL4 (16 colors). It is enough for our image but may not for others. :-p)

Ensuite j'ai ajouté l'initialisation de la libfat dans Main.cpp

#include "fat.h"

...

int main ()
{
...
fatInitDefault();
...

J'ai ensuite buildé et patché l'archive .nds avec dldi pour ma cartouche DS-X - est-ce vraiment ce qu'il fallait faire? -

J'ai copié Example6.nds et ball.png sur ma DS-X, et lorsque je lance l'exemple sur ma DS, au lieu d'avoir des petites balles qui se baladent, j'ai du grand n'importe quoi sur l'écran - d'ou ma conclusion : ball.png n'a pas été chargé correctement :-D

Quelqu'un a-t-il une idée?

linio
11/11/2007, 15h15
Je crois que la chaine char n'est pas le nom du fichier à chargé mais son contenu.

En gros il faut que tu ouvres ton fichier png ,que tu récupère le code du fichier et que tu le mettes dans un "buffer".

Ensuite tu mets le buffer dans la fonction.
Je pense que la fonction marche come ça mais je débute donc je ne t'assures pas que ça marche.

PS: le 0 après le char risque aussi de ne pas plaire.
Mets la taille du buffer

Brunni
27/12/2007, 21h17
C'est censé fonctionner. Ton code n'a pas l'air faux, donc je pense que c'est peut être un problème avec le DS-X? Tu as essayé l'exemple 08? Il montre ça, si jamais essaie de partir de ce code pour voir ce qu'il te manque ;)
Ah et merci pour la coquille ;)