Page 3 sur 3

Re: Inclure des images jpg dans l'exe

Publié : dim. 19/mars/2023 23:06
par boddhi
@Stan
Juste une petite remarque :
Stan_fr a écrit :Je suppose qu'il faut faire
[...]
puis
ButtonImageGadget(#Gadget, X, Y, Largeur, Hauteur, ImageID ,#PB_Button_Image )
ButtonImageGadget(#Gadget, X, Y, Largeur, Hauteur, ImageID ,#PB_Button_PressedImage)
boddhi a écrit :• #Pb_Button_Image et #Pb_Button_PressedImage ne s'utilisent qu'avec la commande SetGadgetAttribute()
Pour cette commande, l'aide informe :

Code : Tout sélectionner

Resultat = ButtonImageGadget(#Gadget, X, Y, Largeur, Hauteur, ImageID [, Options])
et précise qu''Options' ne peut recevoir qu'un seul paramètre (facultatif) : #Pb_Button_Toggle
Aide PureBasic a écrit :Options (optionnel) : #PB_Button_Toggle crée un bouton à bascule (garde son état ON/OFF) qui alterne l'état 'appuyé' et 'normal'.
Tu ne peux donc pas utiliser - en théorie, parce qu'ils existent des exceptions que tu découvriras au fil de la progression de ta connaissance de ce langage - d'autres constantes que celle-là.

D'où l'importance de consulter l'aide fournie sur les instructions/fonctions que tu souhaites utiliser lorsque tu ne les maîtrises pas et d'analyser les arguments qu'elles proposent ainsi que les paramètres autorisés à être passés via ces arguments.

Re: Inclure des images jpg dans l'exe

Publié : lun. 20/mars/2023 14:21
par Stan_fr
falsam a écrit : dim. 19/mars/2023 22:09
Stan_fr a écrit : dim. 19/mars/2023 21:57 Mais il reste le problème de la couleur de cette bordure du gadget.
Remplace tes Boutons images par des CanvasGadget()
J'ai du passer à une fenêtre gris foncé, parce que sinon le drapeau allemand était "bizarre" !

Voila ce que ça donne :

https://drive.google.com/file/d/1nItldk ... sp=sharing

Merci encore.

(et merci à Boddhi aussi)

Re: Inclure des images jpg dans l'exe

Publié : mar. 21/mars/2023 11:59
par Stan_fr
Encore moi...

Ayant découvert les CanvasGadget, j'aimerais remplacer les box dans cet exemple par des CanvasGadget pour faciliter leur gestion,

Code : Tout sélectionner

If OpenWindow(#mf, 0, 0, #LA_FEN, #HA_FEN, "Manque un titre",  #PB_Window_ScreenCentered | #PB_Window_TitleBar | #PB_Window_SystemMenu)
  
  ; Si tu veux une fenetre sur fond noir, decommente la ligne qui suit
  SetWindowColor(#mf, RGB(0, 0, 0))
  
  UseJPEGImageDecoder()
  
  drapeauFR = CatchImage(#PB_Any, ?drapeauFR)
  drapeauUK = CatchImage(#PB_Any, ?drapeauUK)
  drapeauAL = CatchImage(#PB_Any, ?drapeauAL)
  drapeauFO = CatchImage(#PB_Any, ?drapeauFO)
  drapeauFI = CatchImage(#PB_Any, ?drapeauFI)
  drapeauUO = CatchImage(#PB_Any, ?drapeauUO) 
  drapeauUI = CatchImage(#PB_Any, ?drapeauUI)
  drapeauAO = CatchImage(#PB_Any, ?drapeauAO) 
  drapeauAI = CatchImage(#PB_Any, ?drapeauAI)
  

  StartDrawing(WindowOutput(#mf))
DrawImage(ImageID(drapeauFI), 20,20) ; 
  MessageRequester("","")
;Plain text
;■ Tu charges tes images depuis la datasection.

drapeauFI = CatchImage(#PB_Any, ?drapeauFI)
drapeauUO = CatchImage(#PB_Any, ?drapeauUO)

ResizeImage(drapeauFI, GadgetWidth(#drapeauFI)-5, GadgetHeight(#drapeauFI)-5)
ResizeImage(drapeauUO, GadgetWidth(#drapeauUO), GadgetHeight(#drapeauUO))

;Plain text
;■ Et enfin tu assignes chacune des tes images à tes boutons.

SetGadgetAttribute(#drapeauFI, #PB_Button_Image, ImageID(drapeauFI))
SetGadgetAttribute(#drapeauUO, #PB_Button_Image, ImageID(drapeauUO))
  ; Menu FR par défaut
  mk_menus(#FR)
  
  ; Création de la grille (id 0)
  If CreateImage(0, #GD_SIZE, #GD_SIZE) And StartDrawing(ImageOutput(0))
    Box(0 , 0, #GD_SIZE, #GD_SIZE, RGB(200, 0, 0))
    
    For ix = 0 To 15
      xx = 2 + ix*(#CA_SIZE+2) ;
      For iy = 0 To 15
        yy = 2 + iy*(#CA_SIZE+2) ;
       Box(xx, yy, #CA_SIZE, #CA_SIZE, RGB(0,0,0))
      Next
    Next
    
Le problème c'est que je n’arrive pas à positionner les CanvasGadget, sur la grille !

En maths on appelerai ça un problème de changement de repère, mais :
d'une part je n'arrive ni à récupérer les coordonnées des box, ni à savoir où est l'origine, existe-t-il un tuto là dessus ?

Merci d'avance.