SaveSprite

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

SaveSprite

Message par LavaLava »

Je ne comprends pas pourquoi je n'arrive pas à sauver un sprite !

Code : Tout sélectionner

If InitSprite() = 0
  MessageRequester("Error", "Can't open DirectX 7", 0)
  End
EndIf
If OpenScreen(800,600, 8, "Test") = 0
  MessageRequester("Error", "Impossible d'ouvrir l'ecran",0)
  End
Else
  CreateSprite(0, 400, 400)
  SaveSprite(0,"E:\Test.jpg",#PB_ImagePlugin_JPEG)
  SaveSprite(0,"E:\Test.bmp")
EndIf
Ce joli code devrait me donner deux fichiers ... mais rien du tout !
Ou est mon erreur ?
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Hm, on dirai bien un bug...
En mode 256 couleurs ça marche même pas pour le bmp, et avec une profondeur de 16 ou 32 ça ne marche pas pour le jpg (même en rajoutant usejpegimageencoder() que tu as oublié).
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Message par LavaLava »

Effectivement, j'ai oublié d'initialiser le Jpeg mais ce n'est pas le cas dans mon vrai prog.
Par contre, je trouve bizzare la syntaxe du SaveSprite, je m'attendais à avoir (comme pour les autres gestion de fichier) un :
Result = SaveSprite(...)

Aussi bizzare, quand je fais un LoadSprite(...) si le fichier sprite n'existe pas, j'ai droit à un message d'erreur du debuger. Cela m'oblige à tester la présence de ce fichier avant de le charger.
A propos, Ya til une autre méthode, pour vérifier l'existance d'un fichier, que de l'ouvrir ?

Merci filperj, en attendant je me met en 16 bits(0,"E:\Test.jpg",#PB_ImagePlugin_JPEG)
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Message par LavaLava »

Je suis toujours en 3.81 !
Voila le resultat de mes tests :
- SaveSprite ne fonctionne pas en mode 8 bits de couleur. En mode 16 bit ça tourne et il sauve dans le repertoire de travail.
- LoadSprite necessite le chemin complet du fichier sinon le debug genere une erreur.

Est-il de même sur la 3.91 ?
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Pour vérifier l'existence d'un fichier, tu peux utiliser filesize().

Euh, je crois que tu peux tester la valeur renvoyée de savesprite, si elle est nulle c'est que la sauvegarde a échouée.

Par contre, c'est bizarre pour loadsprite, normalement le chemin relatif à l'exe ou au source suffit. :roll:
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Répondre