Page 1 sur 1
Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 10:05
par David02
Bonjour,
Je viens de débuter dans ce langage il y a quelques jours et j'ai quelques difficultés concernant des codes.
J'aurais plusieurs questions concernant ces codes et j'espère que vous saurez m'aider.
-Savez-vous comment inclure des images directement dans le programme?
J'ai trouvé dans l'aide qu'il fallait utiliser CatchImage() et DataSection mais je n'y arrive pas.
-Comment faire fonctionner une barre de volume avec du son venant d'internet (ex: WebRadio) ?
-Comment faire fonctionner une barre de progression avec un film ou une musique?
Merci
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 10:25
par djes
Pour le catchimage, tu as copié les programmes d'exemple? Il suffit juste de changer le nom de l'image... Envoie ton code, on te dira ce qui ne va pas.
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 10:33
par David02
Voici le code que j'ai pris dans l'exemple:
Code : Tout sélectionner
CatchImage(#logo, ?Logo)
End
DataSection
Logo: IncludeBinary "c:\users\logo.bmp"
EndDataSection
A quoi correspond "?logo" ?
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 10:56
par djes
David02 a écrit :Voici le code que j'ai pris dans l'exemple:
Code : Tout sélectionner
CatchImage(#logo, ?Logo)
End
DataSection
Logo: IncludeBinary "c:\users\logo.bmp"
EndDataSection
A quoi correspond "?logo" ?
Effectivement, ce n'est pas simple à comprendre pour un débutant. Je vais résumer : le compilateur va prendre ce programme et créer un fichier exécutable. Ce fichier est lui-même divisé en sections, qui lors du chargement seront placées en mémoire selon leur contenu. Le programme lui-même sera placé dans une section "code", qu'il est inutile de déclarer. Avec PB, on peut définir une section qui servira pour les données (couple datasection/endatasection). Pour savoir où commence quelque chose, on peut créer ce qu'on appelle un label (ou étiquette). Ainsi la ligne
dit ceci : inclut dans le fichier exe un fichier sous forme binaire, et indique au reste du programme que celui-ci sera placé à l'adresse "Logo"
Pour se servir d'un label dans le reste du programme, on utilise le "?". Pourquoi ça? Pour éviter de confondre un label avec une variable ou un pointeur, tout simplement.
Je te rassure, ce genre de choses ne sert quasiment que pour les fonctions avancées ou pour les catch. PB est en général plus simple que ça!
Pour info, un label sert aussi pour des Goto ou des Gosub, des instructions ancestrales du BASIC qui ne servent plus beaucoup de nos jours.
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 11:15
par David02
Je pense avoir compris dans l'ensemble.
Sinon si je n'y arrive pas, je laisse les images où elles sont, ce n'est pas important surtout que dans l'aide il dise que le programme sera plus lourd (ce qui est normal) et qu'il sera surement plus long.
Par contre, pour contrôler le volume d'un webradio, comment fait-on?
J'ai réussi à gérer le volume d'un film et d'une musique sur mon ordinateur mais cela ne fonctionne pas sur une webradio.
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 11:17
par Ar-S
Pour la webradio je suis preneur aussi mais je doute que l'on puisse simplement. Il serait plus simple de baisser le volume général.
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 13:18
par djes
Ouarf, pas évident! Je te conseille d'aller sur le forum anglais et de voir avec Comate, mais à mon avis, tu n'as pas encore le niveau. Et oui, ce n'est pas si simple, car une webradio est un objet intégré à une page web, dans un navigateur : il faut arriver à le repérer et en changer les propriétés. Ar-S a raison, changer le volume global est bien plus simple!
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 13:37
par David02
D'accord, merci de m'avoir aidé.
Quelle est l'erreur que j'ai pu faire dans ce code?
Code : Tout sélectionner
Procedure theme()
theme$ = OpenFileRequester("Choisir le thème", "", "Images|*.jpg;*.bmp;*.gif", 0)
If LoadImage(#theme, theme$)
ImageGadget(#fenetre, 0, 0, 1000, 620, ImageID(#theme))
EndIf
EndProcedure
Pour information, le but est de choisir l'image que l'on souhaite voir apparaitre en fond.
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 13:43
par falsam
Bonjour et bienvenu à toi sur ce forum.
Utilises tu bien UseJPEGImageDecoder ?
les fichiers gif n'ont pas de decodeur actuellement.
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 13:46
par David02
Non je n'ai pas utilisé UseJPEGImagedecoder.
Je viens d'aller voir dans l'aide mais il n'y a pas grand chose d'expliquer dessus.
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 13:49
par falsam
Un exemple pour illustrer ta demande
Code : Tout sélectionner
UseJPEGImageDecoder()
Enumeration
#Fenetre
#theme
#Image
EndEnumeration
Procedure MainFormShow()
OpenWindow(#Fenetre,0,0,800,600,"Nouvelle application",#PB_Window_ScreenCentered |#PB_Window_SizeGadget | #PB_Window_SystemMenu)
EndProcedure
Procedure theme()
theme$ = OpenFileRequester("Choisir le thème", "", "Images|*.jpg;*.bmp;*.gif", 0)
If LoadImage(#theme, theme$)
ImageGadget(#image, 0, 0, 800, 600, ImageID(#theme))
EndIf
EndProcedure
MainFormShow()
Theme()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 14:00
par falsam
Si tu as besoin de redimensionner ton image tu peux insérer
juste avant
ImageGadget(#image, 0, 0, 800, 600, ImageID(#Theme))
Re: Aide images, barre de volume et de progression
Publié : mer. 30/mars/2011 14:06
par David02
Merci beaucoup
Justement j'étais entrain de chercher à effectuer un redimensionnement de l'image sauf je mettais ResizeImage() après ImageGadget().
Par contre, vous savez comment faire pour avoir une barre de progression liée à la musique et aux films?