Page 1 sur 1
Image multi frame
Publié : lun. 20/août/2018 0:54
par Ekim
Bonsoir,
pouvez-vous me dire sur quel format doit on enregistrer une image multi framée fraichement crée pour ainsi pouvoir la ré ouvrir un peu plus tard et ré exploiter ses frames?
Re: Image multi frame
Publié : lun. 20/août/2018 6:27
par Marc56
Ekim a écrit :Bonsoir,
pouvez-vous me dire sur quel format doit on enregistrer une image multi framée fraichement crée pour ainsi pouvoir la ré ouvrir un peu plus tard et ré exploiter ses frames?
Le format GIF est multi-frame.
On peut le lire en PB depuis la version 5.6
Mais on ne peut pas l'écrire.
Donc en PB, tu dois pour l'instant sauver un fichier par frame.

Re: Image multi frame
Publié : lun. 20/août/2018 8:09
par Ar-S
C'est bien résumé.
Crees toi un sous dossier datas dans l'emplacement de ton soft ou tu mets des images 1,2,3,n
C'est ton code qui pourra créer l'image animé, pas le format de l'image.
Re: Image multi frame
Publié : mar. 21/août/2018 12:48
par G-Rom
Bonjour, tu peu d'inspiré de l'opensource & convertir du code C en PB qui sauvegarde des gifs.
https://github.com/lecram/gifenc
Je l'utilise, ca marche très bien. le code est facile à convertir.
Re: Image multi frame
Publié : sam. 15/sept./2018 2:03
par Ekim
Ok merci pour vos réponse)
dans ce genre de situation il est tout à fait possible de créer son propre format puisqu'il n'y a pas vraiment le choix!
Re: Image multi frame
Publié : sam. 15/sept./2018 14:30
par Marc56
Tu peux créer une bande d'images. (Grande image, puis DrawImage avec un décalage)
Ensuite tu les extrait avec GrabImage()

Re: Image multi frame
Publié : sam. 15/sept./2018 18:08
par Ekim
Excellente l'idée @Marc56)))
En fait, tu veux dire que dans un 1er temps, il faut charger toutes les images d'un sous-dossier en mémoire puis les rassembler sur une seule grande image, puis ensuite les faire défiler?
Re: Image multi frame
Publié : sam. 15/sept./2018 22:41
par Ar-S
C'est une solution.
Ici une image reprenant 2 frames. (1 verte et 1 rouge)
Code : Tout sélectionner
; Creation de l'image test
CreateImage(10,200,50,32,#Green)
StartDrawing(ImageOutput(10))
Box(0,0,100,50,#Red)
StopDrawing()
If OpenWindow(0, 0, 0, 426, 128, "GrabImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ImageGadget(0, 0, 0, 128, 128, ImageID(10) )
ButtonGadget(1, 138, 50, 200, 50, "Clic pour Frame 1")
ImageGadget(2, 298, 0, 128, 128, 0)
Xim = 100
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case 1
GrabImage(10, 11, Xim, 0, 100, 50); Coupe l'image
SetGadgetState(2, ImageID(11)) ; Affichage ID 11 qui prendra la partie rouge ou verte selon la position Xim
If Xim = 100
SetGadgetText(1,"Clic pour Frame 2")
Xim = 0
Else
Xim = 100
SetGadgetText(1,"Clic pour Frame 1")
EndIf
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
Tu peux utiliser ce que l'on appel des SpriteSheets

Source sympa ici :
https://www.codeandweb.com/texturepacke ... rite-sheet
Re: Image multi frame
Publié : mar. 25/sept./2018 0:49
par Ekim
Impeccable @Ar-S merci pour ton dévouement
