Page 1 sur 1
SaveSprite
Publié : mer. 05/mai/2004 23:47
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 ?
Publié : jeu. 06/mai/2004 5:41
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é).
Publié : jeu. 06/mai/2004 10:19
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)
Publié : jeu. 06/mai/2004 10:44
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 ?
Publié : jeu. 06/mai/2004 13:43
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.
