Purebasic et MNG
Purebasic et MNG
Bijour !
Est ce que parmis vous quelqu'un connaitrait un moyen simple de jouer les animations MNG avec purebasic ? (Je rappel que les fichiers MNG sont des PNG animés). vu qu'il y a un decodeur PNG intégré au purebasic n'y a t'il pas moyen de lire facilement les MNG image par image !
Merci d'avance
A+
Thy
Est ce que parmis vous quelqu'un connaitrait un moyen simple de jouer les animations MNG avec purebasic ? (Je rappel que les fichiers MNG sont des PNG animés). vu qu'il y a un decodeur PNG intégré au purebasic n'y a t'il pas moyen de lire facilement les MNG image par image !
Merci d'avance
A+
Thy
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
PNG Et MNG sont libre de droit, il n'y a pas des dll sur le net pour les lire ?
D'ailleurs, ce sera bien davoir un meilleur support du format png dans pure (notamment au niveau de la transparence, pour moi, un png est comme une icônes mais dans pure, c'est pas le cas)
D'ailleurs, ce sera bien davoir un meilleur support du format png dans pure (notamment au niveau de la transparence, pour moi, un png est comme une icônes mais dans pure, c'est pas le cas)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
j'ai trouvé une lib : http://www.libmng.com/
a téléchargé plus précisement ici =>http://prdownloads.sourceforge.net/libm ... e?download il y a des exemples comment utiliser la libs mais j'avoue que ça depasse mes simples competence ....mais je continuea essayer de comprendre comment utiliser cette lib!
a téléchargé plus précisement ici =>http://prdownloads.sourceforge.net/libm ... e?download il y a des exemples comment utiliser la libs mais j'avoue que ça depasse mes simples competence ....mais je continuea essayer de comprendre comment utiliser cette lib!
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
voilà 3 fichier
http://www.thyphoon.com/TMP/ball.mng
http://www.thyphoon.com/TMP/example3.mng
http://www.thyphoon.com/TMP/1942.mng
le 1er et le 2ème fonctionne j'en suis sur ...le 3ème (1942) est un peu exotic ...
si tu as besoin d'autre chose dit moi
en tout cas merci car la seul chose que j'ai réussi avec la live c'est a faire des jolies plantage avec reboot a chaque fois lolllllllll
http://www.thyphoon.com/TMP/ball.mng
http://www.thyphoon.com/TMP/example3.mng
http://www.thyphoon.com/TMP/1942.mng
le 1er et le 2ème fonctionne j'en suis sur ...le 3ème (1942) est un peu exotic ...
si tu as besoin d'autre chose dit moi

- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Utilise la libMNG !
Prends un DLL Viewer et fais un callfunction de ces fonctions pour les utiliser dans purebasic, tu devrais surement arriver à quelque chose !
Prends un DLL Viewer et fais un callfunction de ces fonctions pour les utiliser dans purebasic, tu devrais surement arriver à quelque chose !
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
c'est ce que j'essaie de faire...mais il y a une quantité de fonction astronomique dans la lib en question... alors bien sur pour lire un mng je suppose qu'il n'y a pas besoin de toute mais ça fait pas mal de temps que je test et j'ai rien de probant....Progi1984 a écrit :Utilise la libMNG !
Prends un DLL Viewer et fais un callfunction de ces fonctions pour les utiliser dans purebasic, tu devrais surement arriver à quelque chose !


- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Essaie de traduire ca !
http://gjuyn.xs4all.nl/libmng/developers_example1.html
http://gjuyn.xs4all.nl/libmng/developers_example1.html
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net


Il y a avec les sources de libmng des exememples (enfin je crois que c'est bien ça) et dans
lm1009\libmng\contrib\gcc\sdl-mngplay
il y a mngplay.c qui a ressemble a ce que j'ai vu de plus simple comme player en "c" ...mais delà a le traduire je vais avoir du mal. c'est pas enorme comme programme mais au vu de mes connaissances en C je pense que je vais galérer donc je vais essayer mais si une ame généreuse veux me donner un coup de main ça sera avec plaisir lolllll

Il y a des truc que je pige pas trop en C
voilà une fonction en C
et voici comment je l'ai traduit ...
ça vous parait correct ?
voilà une fonction en C
Code : Tout sélectionner
mng_bool mymngopenstream(mng_handle mng)
{
mngstuff *mymng;;
/* look up our stream struct */
mymng = (mngstuff*)mng_get_userdata(mng);
/* open the file */
mymng->file = fopen(mymng->filename, "rb");
If (mymng->file == NULL) {
fprintf(stderr, "unable to open '%s'\n", mymng->filename);
Return MNG_FALSE;
}
Return MNG_TRUE;
}
Code : Tout sélectionner
Procedure.b mymngopenstream(mng_handle mng)
mngstuff=*mymng()
*mymng()=mng_get_userdata(mng)
mymng()\file=ReadFile(#PB_Any, NomFichier$)
Lof()
ReadData(*Tampon, Lof())
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
lollllll bon je fais un monologue mais c'est pas grave !
j'ai decouvert cette info : je me demande si on ne pourrait pas utiliser alors les fonctions
UsePNGImageDecoder() et CatchImage(#Image, MemoryAddress) il suffit juste de trouver comment lire l'entête du fichier pour savoir le nombre d'image et les infos de delay entre image etc... non ? ça serait plus simple que de traduire un code en C...(Car pour l'instant c'est tres loin de marcher)
j'ai decouvert cette info :
Code : Tout sélectionner
La structure des fichiers au format MNG est fondamentalement identique à celle des fichiers PNG, différant seulement dans la signature (8A 4D 4E 47 0D 1A 0A en hexadécimal) et dans l'utilisation d?unités d?information discrètes fournissant une grande variété de dispositifs d'animation. Les images utilisées dans l'animation sont stockées dans le fichier MNG comme une encapsulation d?images au format PNG ou JNG
UsePNGImageDecoder() et CatchImage(#Image, MemoryAddress) il suffit juste de trouver comment lire l'entête du fichier pour savoir le nombre d'image et les infos de delay entre image etc... non ? ça serait plus simple que de traduire un code en C...(Car pour l'instant c'est tres loin de marcher)