Tester si bouton de souris appuyé ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Tester si bouton de souris appuyé ?

Message par boddhi »

C'est peut-être un peu mal barré !

On a aussi déjà vu un boucher manger de la viande avec une fourchette mais très rarement pour la couper sur son étal !
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Tester si bouton de souris appuyé ?

Message par Ar-S »

Sans avoir testé, je me dis qu'un canvas pourrait faire l'affaire. Si tu veux plus performant faut directement enquiller sur de la 2D.
Ce genre de programme n'est pas adapté pour des gadgets
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Stan_fr
Messages : 84
Inscription : mar. 07/mars/2023 20:01
Localisation : NANTES

Re: Tester si bouton de souris appuyé ?

Message par Stan_fr »

Ar-S a écrit : lun. 27/mars/2023 23:55 Sans avoir testé, je me dis qu'un canvas pourrait faire l'affaire. Si tu veux plus performant faut directement enquiller sur de la 2D.
Ce genre de programme n'est pas adapté pour des gadgets
J'ai des canvas dans mon programme (les drapeaux pour sélectionner la langue) et ils ont le même comportement....

J'ai l'impression qu'utiliser la 2D et des sprites m'obligerait à réécrire toute la "tringlerie" de gestion déjà implémentée dans les gadgets de Pb.

D'un autre coté ça a l'air d'aller beaucoup plus vite que ce que j'ai avec des gadgets (peut-être parce que j'ai mal programmé ?)
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Tester si bouton de souris appuyé ?

Message par Ar-S »

Stan_fr a écrit : mar. 28/mars/2023 1:57 J'ai des canvas dans mon programme (les drapeaux pour sélectionner la langue) et ils ont le même comportement....
Parce que tu utilises DES canvas.
Pour un truc de ce genre j'utiliserai 1 gros canvas avec des carrés dessinés grace à des données structurées (utilisation des structures)
Stan_fr a écrit : J'ai l'impression qu'utiliser la 2D et des sprites m'obligerait à réécrire toute la "tringlerie" de gestion déjà implémentée dans les gadgets de Pb.
D'un autre coté ça a l'air d'aller beaucoup plus vite que ce que j'ai avec des gadgets (peut-être parce que j'ai mal programmé ?)
La 2D serait l'lidéal coté reactivité. Sachant que tu peux afficher 1 sprite N fois

Je suis en train de regarder le canvas. ça fait un baille que je n'y ai pas touché
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Stan_fr
Messages : 84
Inscription : mar. 07/mars/2023 20:01
Localisation : NANTES

Re: Tester si bouton de souris appuyé ?

Message par Stan_fr »

Ar-S a écrit : mar. 28/mars/2023 12:00
Stan_fr a écrit : mar. 28/mars/2023 1:57 J'ai des canvas dans mon programme (les drapeaux pour sélectionner la langue) et ils ont le même comportement....
Parce que tu utilises DES canvas.
Pour un truc de ce genre j'utiliserai 1 gros canvas avec des carrés dessinés grace à des données structurées (utilisation des structures)
Ça me paraît difficile : j'ai des drapeaux pour changer de langue et dessiner un drapeau anglais c'est coton !
Ar-S a écrit : mar. 28/mars/2023 12:00La 2D serait l'lidéal coté reactivité. Sachant que tu peux afficher 1 sprite N fois

Je suis en train de regarder le canvas. ça fait un baille que je n'y ai pas touché
Au cas où tu* voudrais essayer : J'ai mis mon source et toutes ses données là

https://drive.google.com/file/d/1GGQXpz ... share_link

* ou tout autre "ancien" du Forum, les critiques et suggestions sont bienvenues.
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Tester si bouton de souris appuyé ?

Message par falsam »

J'ai regardé ton site de référence pour voir ce que tu souhaitais faire.
:arrow: https://www.maxlaumeister.com/tonematrix/

il faut passer sur chaque petit carré avec la souris avec la touche gauche de la souris pressée.
On peut aussi marquer chaque carré par un simple clic.

Avec les mêmes méthode que précédemment on peut désélectionner les carrés.

Au fur et à mesure de la sélection des carrés, les notes sont jouées simultanément en colonne en progressant sur l'axe des x.

Voici un exemple de code utilisant le canvas pour dessiner une grille comparable à celle du site interner en question.
J'ai volontairement pas mis en place tes drapeaux de traduction et ton menu.
Tu pourra passer sur chaque carré avec la souris en maintenant le bouton gauche de la souris pressé.
Pour chaque carré j'ai assigné une fréquence de note.

Petite précision je ne sais pas jouer les 16 sons verticaux simultanément et la fluidité n'est pas au rendez vous :wink: .

Code : Tout sélectionner

EnableExplicit

Enumeration window
  #mf
EndEnumeration

Enumeration gadget
  #mfGrid  
EndEnumeration

Enumeration misc
  #timer  
EndEnumeration

Structure Plot
  ; Coordonnée coin haut gauche 
  x0.i
  y0.i
  
  ; Coordonnée coin bas droit
  x1.i
  y1.i
  
  ; Chaque plot est associé à une fréquence
  freq.i
  
  ; Le plot est sélectionné (ou pas)
  isSelect.b
EndStructure

; Construction du grid composé de plot (16x16)
Global Dim Grid.Plot(15,15)
Global Dim Freqencies(15)

; Définition des couleurs de plot 
Global PlotColorInactif = RGB(105, 105, 105)
Global PlotColorActif = RGB(245, 245, 245)
Global PlotColorPlay  = RGB(255, 105, 180)

;Sommaire
Declare Start()
Declare InitFrequencies()
Declare DrawGrid()
Declare PlayGrid()
Declare onPlot()
Declare Exit()

Start()

Procedure Start()
  Protected MarginLeft = (800 - (16*22))/2, MarginTop = (600 - (16*22))/2 
  Protected x, y, Plot 
  
  InitFrequencies()
  
  OpenWindow(#mf, 0, 0, 800, 600, "ToneMatrix Redux", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  SetWindowColor(#mf, RGB(0, 0, 0))
  
  ; Installation de la grille 
  CanvasGadget(#mfGrid, MarginLeft, MarginTop, 16*24, 16*24, #PB_Canvas_ClipMouse)
  DrawGrid()
  
  ; Ajout d'un timer pour jouer les notes 
  AddWindowTimer(#mf, #Timer, 1) 
  
  ; Déclencheur
  BindGadgetEvent(#mfGrid, @onPlot())
  BindEvent(#PB_Event_Timer, @PLayGrid())
  BindEvent(#PB_Event_CloseWindow, @Exit())
  
  ; Loop
  Repeat : WaitWindowEvent() : ForEver   
EndProcedure

Procedure InitFrequencies()
  Freqencies(0) = 2100
  Freqencies(1) = 1780
  Freqencies(2) = 1580
  Freqencies(3) = 1380
  Freqencies(4) = 1180
  Freqencies(5) = 1060
  Freqencies(6) = 890
  Freqencies(7) = 790
  Freqencies(8) = 710
  Freqencies(9) = 600
  Freqencies(10) = 530
  Freqencies(11) = 450
  Freqencies(12) = 400
  Freqencies(13) = 350
  Freqencies(14) = 300
  Freqencies(15) = 262
EndProcedure

; Dessiner le grid 
; Initialiser la fréquence de chaque plot
Procedure DrawGrid()
  Protected x, y
   
  ; Fond du grid
  StartDrawing(CanvasOutput(#mfGrid))
  Box(0, 0, 16*24, 16*24, RGB(0, 0, 0))
  
  ; Dessin des 16x16 plots
  For x = 0 To 15
    For y = 0 To 15
      
      With Grid(x,y)
        \x0 = x*24
        \y0 = y*24
        \x1 = \x0 + 20
        \y1 = \y0 + 20
        
        \freq = Freqencies(y)        
        
        Box(Grid(x,y)\x0, Grid(x,y)\y0, 20, 20, PlotColorInactif)
      EndWith 
    Next
  Next
  StopDrawing()
EndProcedure

; Jouer la fréquence associé au plot
Procedure PlayGrid()
  Static x, y
  
  With Grid(x,y)
    If \isSelect 
      StartDrawing(CanvasOutput(#mfGrid))
      Box(\x0, \y0, 20, 20, PlotColorPlay)
      StopDrawing()   
      
      Beep_(\freq, 100)
      
      StartDrawing(CanvasOutput(#mfGrid))
      Box(\x0, \y0, 20, 20, PlotColorActif)
      StopDrawing()   
    EndIf
  EndWith
  ; Balayage de haut en bas (Axe y)
  ; Puis de gauche à froite (Axe X)
  y+1
  
  ; La derniere ligne est traitée 
  If y = 16
    y = 0
    x + 1
  EndIf
  
  ; La derniéere colonne est traitée
  If x = 16
    x = 0
    y = 0
  EndIf
EndProcedure

; Un plot est sélectionné 
; - On passe dessus avec le clic gauche de la souris préssé
; - Quand on le clic (Non traité dans cet exemple)
; 
; La déselection d'un plot n'est pas traité
Procedure onPlot()
  Protected x, y
  Protected px = GetGadgetAttribute(#mfGrid, #PB_Canvas_MouseX)
  Protected py = GetGadgetAttribute(#mfGrid, #PB_Canvas_MouseY)
  
  ; La souris est en mouvement et la touche gauche de la soutis est préssée
  If (EventType() = #PB_EventType_MouseMove  And 
      GetGadgetAttribute(#mfGrid, #PB_Canvas_Buttons) & #PB_Canvas_LeftButton)
    For x = 0 To 15
      For y = 0 To 15
        With Grid(x,y)
          If px >= \x0 And py>= \y0 And px <= \x1 And py <= \y1
            StartDrawing(CanvasOutput(#mfGrid))
            Box(\x0, \y0, 20, 20, PlotColorActif)
            StopDrawing()
            
            ; Le plot est sélectionné  
            \isSelect = #True 
          EndIf
        EndWith
      Next 
    Next   
  EndIf     
EndProcedure

Procedure Exit()
  End
EndProcedure
:idea: Regarde les évènements gérés le CanvasGadget()
https://www.purebasic.com/french/docume ... adget.html
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Tester si bouton de souris appuyé ?

Message par Ar-S »

Houla je suis allé moins loin que Falsam.

Juste un exemple pour montrer qu'effectivement le canvas peut gérer cette gestion du "je laisse appuyer et je bouge"
Mais je me suis un peu paumé dans mes Event :mrgreen:
J'ai mis que 3 cases mais l'idée était là.

Code : Tout sélectionner

Enumeration Time 
    #T ; timer
EndEnumeration

Enumeration GUI
    #WIN
    #CANV
    #BUTT
EndEnumeration


Enumeration Carre
    #C1
    #C2
    #C3
EndEnumeration

#COL_OFF    = $333333
#COL_OVER   = $AAAAAA
#COL_ON     = #Green  

Structure Inf
    n.s
    x.b
    y.b
    l.b 
    h.b
    c.i ; couleur
    id.b; image
EndStructure

Global etat.b, marge.b = 4


Macro Carre(obj, xx, yy, ll, hh, cc)
    obj.inf\x = xx
    obj.Inf\y = yy
    obj.Inf\l = ll
    obj.Inf\h = hh
    obj.Inf\c = cc
EndMacro

Carre(C1, marge, 2, 30, 30, #COL_OFF)
Carre(C2, C1\x+C1\l+marge, 2, 30, 30, #COL_OFF)
Carre(C3, C2\x+C2\l+marge, 2, 30, 30, #COL_OFF)


If OpenWindow(#WIN, 0, 0, 220, 220, "Canvas container", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    
    CanvasGadget(#CANV, 10, 10, 118, 34, #PB_Canvas_Container)
    
        StartDrawing(CanvasOutput(#CANV))
        Box(0,0,118,34,$0)
        Box(C1\x,C1\y,c1\l,c1\h,c1\c)
        Box(C2\x,C2\y,c2\l,c2\h,c2\c)
        Box(C3\x,C3\y,c3\l,c3\h,c3\c)
        StopDrawing()
        
        ButtonGadget(#BUTT, 10, 80, 80, 30, "Effacer")
        
        AddWindowTimer(#WIN, #T, 500)
        
        
        
        Repeat
            Event = WaitWindowEvent()
            
            Select Event
                Case #PB_Event_Timer
                    Debug "c1 : " + C1\C
                    Debug "c2 : " + C2\C
                    Debug "c3 : " + C3\C
                    Debug "---------------"
                    
                    
                Case #PB_Event_Gadget
                    Select EventGadget() 
                        Case #CANV
                           
                            x = GetGadgetAttribute(#CANV, #PB_Canvas_MouseX)
                            y = GetGadgetAttribute(#CANV, #PB_Canvas_MouseY)
                            
                            StartDrawing(CanvasOutput(#CANV))
                       
                  
  
;                             If EventType() = #PB_EventType_MouseMove And EventType() <>   GetGadgetAttribute(#CANV, #PB_Canvas_Buttons) & #PB_Canvas_LeftButton
;                                 
;                                 If x > C1\x And x < C1\x + C1\l And C1\c <> #COL_ON
;                                     C1\c = #COL_OVER
;                                 Else
;                                     C1\c = #COL_OFF
;                                 EndIf
;                                 
;                                 If x > C2\x And x < C2\x + C2\l And C2\c <> #COL_ON
;                                     C2\c = #COL_OVER
;                                 Else
;                                     C2\c = #COL_OFF
;                                 EndIf
;                                 
;                                 If x > C3\x And x < C3\x + C3\l And C3\c <> #COL_ON
;                                     C3\c = #COL_OVER
;                                 Else
;                                     C3\c = #COL_OFF
;                                 EndIf
;                                 
;                             EndIf
                            If EventType() = #PB_EventType_LeftButtonDown Or (EventType() = #PB_EventType_MouseMove And GetGadgetAttribute(#CANV, #PB_Canvas_Buttons) & #PB_Canvas_LeftButton)
                                
                                etat = 1
                                
                                If etat = 1
                                    
                                    If x > C1\x And x < C1\x + C1\l And c1\c <> #COL_ON
                                        C1\C = #COL_ON
                                        
                                    ElseIf x > C2\x And x < C2\x + C2\l And c2\c <> #COL_ON
                                        C2\c = #COL_ON
                                        
                                    ElseIf x > C3\x And x < C3\x + C3\l And C3\c <> #COL_ON
                                        C3\c = #COL_ON
                                        
                                    EndIf
                                    etat = 2
                                    
                                ElseIf etat = 2
                                    
                                    If x > C1\x And x < C1\x + C1\l And c1\c = #COL_ON
                                        C1\C = #COL_OVER
                                        
                                    ElseIf x > C2\x And x < C2\x + C2\l And c2\c = #COL_ON
                                        C2\c = #COL_OVER
                                        
                                    ElseIf x > C3\x And x < C3\x + C3\l And C3\c = #COL_ON
                                        C3\c = #COL_OVER
                                    EndIf
                                    etat = 1
                                    
                                EndIf
                                
                                    
                                ElseIf EventType() =   #PB_EventType_MouseLeave 
                                    
                                    If C1\c = #COL_OVER And c1\c <> #COL_ON
                                        C1\c = #COL_OFF
                                    EndIf
                                    If C2\c = #COL_OVER And c2\c <> #COL_ON
                                        C2\c = #COL_OFF
                                    EndIf
                                    If C3\c = #COL_OVER And c3\c <> #COL_ON
                                        C3\c = #COL_OFF
                                    EndIf
                                    
                                EndIf
                                
                                Box(C1\x,C1\y,c1\l,c1\h,c1\c)
                                Box(C2\x,C2\y,c2\l,c2\h,c2\c)
                                Box(C3\x,C3\y,c3\l,c3\h,c3\c)

                             StopDrawing()
                        Case #BUTT
                            
                    EndSelect
            EndSelect
            
        Until Event = #PB_Event_CloseWindow
    EndIf
    
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Stan_fr
Messages : 84
Inscription : mar. 07/mars/2023 20:01
Localisation : NANTES

Re: Tester si bouton de souris appuyé ?

Message par Stan_fr »

falsam a écrit : mar. 28/mars/2023 15:06 J'ai regardé ton site de référence pour voir ce que tu souhaitais faire.
:arrow: https://www.maxlaumeister.com/tonematrix/

il faut passer sur chaque petit carré avec la souris avec la touche gauche de la souris pressée.
On peut aussi marquer chaque carré par un simple clic.

Avec les mêmes méthode que précédemment on peut désélectionner les carrés.

Au fur et à mesure de la sélection des carrés, les notes sont jouées simultanément en colonne en progressant sur l'axe des x.

Voici un exemple de code utilisant le canvas pour dessiner une grille comparable à celle du site interner en question.
J'ai volontairement pas mis en place tes drapeaux de traduction et ton menu.
Tu pourra passer sur chaque carré avec la souris en maintenant le bouton gauche de la souris pressé.
Pour chaque carré j'ai assigné une fréquence de note.

Petite précision je ne sais pas jouer les 16 sons verticaux simultanément et la fluidité n'est pas au rendez vous :wink: .


:idea: Regarde les évènements gérés le CanvasGadget()
https://www.purebasic.com/french/docume ... adget.html
MERCI de me proposer une solution !

Mais j'ai un problème : à la compilation j'ai un message d'erreur :"The required compiler cannot be found" :?:

J'ai installé à partir de : PureBasic_Windows_X64_LTS_6.01_(gzatr4).exe

est-ce que ça veut dire que je dois aussi exécuter : PureBasic_Windows_X86_LTS_6.01_(ykamkc).exe ?

Et que Pb choisira automatique le compilateur 32 bits plutôt que le 64 bits ?

Et ça ne mettra pas la zone dans mon Pb ?

Désolé de ces questions de débutant. :oops:

Je suis quand même étonné qu'un exe PB, aille moins vite qu'un programme en Js ?

Par contre merci aussi pour ta description de Tonematrix, bien plus claire que mes tentatives :!:


@ Ar-S
Merci aussi mais même chose : :"The required compiler cannot be found"

je suppose que "même chose --> même cause" !!!
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Tester si bouton de souris appuyé ?

Message par boddhi »

Pour le problème de compilateur, va dans Menu/Compilateur/Options du compilateur et regarde l'option "Utiliser compilateur"

Pour le dessin des drapeaux, tu peux les récupérer en SVG (exemple) avec un HTTPRequest puis utiliser ce code : Topic ou lien direct
Stan_fr
Messages : 84
Inscription : mar. 07/mars/2023 20:01
Localisation : NANTES

Re: Tester si bouton de souris appuyé ?

Message par Stan_fr »

boddhi a écrit : mar. 28/mars/2023 17:05 Pour le problème de compilateur, va dans Menu/Compilateur/Options du compilateur et regarde l'option "Utiliser compilateur"

Pour le dessin des drapeaux, tu peux les récupérer en SVG (exemple) avec un HTTPRequest puis utiliser ce code : Topic ou lien direct
Merci mais je n'ai qu'un compilateur proposé quand je fais ça...

Comme je l'ai dit je pourrais installer le compilateur 32 bits (X86), mais je veux être sur que ça ne va pas mettre le bazar dans ce que j'ai déjà installé :?:

J'ai les drapeaux en jpg, quel serait l'avantage de les avoir en SVG vu que je n'ai pas besoin de les redimensionner ?
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Tester si bouton de souris appuyé ?

Message par boddhi »

As-tu installé plusieurs versions de PB (Versions, OS, Processeurs) ?
Normalement, si chaque installation a été correctement effectuée (1 dossier par version), tu n'as en effet qu'un compilateur proposé, celui correspondant à la version en cours d'utilisation.
Je laisse la main aux plus experts pour t'aider sur ce problème que je n'ai jamais rencontré (peut-être tenter un redémarrage du compilo ?)

Pour les images, c'est ton commentaire qui m'a amené à te proposer cette solution :
Stan_fr a écrit :Ça me paraît difficile : j'ai des drapeaux pour changer de langue et dessiner un drapeau anglais c'est coton !
Alors quel(s) intérêt(s) d'utiliser le SVG ?
Si tes images JPEG sont déjà aux dimensions que tu désires, pas énorme. Quoique...

Les avantages entre-autres :
 • Si tu souhaites stocker tes images dans ton programme source, une chaîne SVG (XML) prendra toujours moins de place que le stockage d'une image à proprement parler.
 • Surtout, si tu souhaites redimensionner tes images dans différentes résolutions, quelles que soient les tailles (raisonnables bien évidemment, c-à-d pas trop petites), tu utiliseras toujours la même source SVG et il n'y aura pas d'effet de pixellisation lors des rendus.

L'inconvénient :
 • il te faudra inclure le code source dont je t'ai donné les liens et l'adapter à tes besoins pour ne conserver que le code réellement nécessaire.

PS: Peut-être faudrait-il créer un autre topic car on s'éloigne du sujet de celui en cours
Stan_fr
Messages : 84
Inscription : mar. 07/mars/2023 20:01
Localisation : NANTES

Re: Tester si bouton de souris appuyé ?

Message par Stan_fr »

As-tu installé plusieurs versions de PB (Versions, OS, Processeurs) ?
Normalement, si chaque installation a été correctement effectuée (1 dossier par version), tu n'as en effet qu'un compilateur proposé, celui correspondant à la version en cours d'utilisation.
Je laisse la main aux plus experts pour t'aider sur ce problème que je n'ai jamais rencontré (peut-être tenter un redémarrage du compilo ?)
Pourrais-tu s'il te plaît lire ce que j'ai écrit ?
J'ai dit que je n'avais que la version Windows 64 bits installée et me demandais si je pouvais installer sans risque le version 32 bits...

boddhi a écrit : mar. 28/mars/2023 18:52Pour les images, c'est ton commentaire qui m'a amené à te proposer cette solution :
Stan_fr a écrit :Ça me paraît difficile : j'ai des drapeaux pour changer de langue et dessiner un drapeau anglais c'est coton !
j'ai écrit cela en réponse à une suggestion de dessiner les drapeaux ! Pas pour dire que charger des jpg posait problème.

boddhi a écrit : mar. 28/mars/2023 18:52Si tes images JPEG sont déjà aux dimensions que tu désires, pas énorme. Quoique...

Les avantages entre-autres :
 • Si tu souhaites stocker tes images dans ton programme source, une chaîne SVG (XML) prendra toujours moins de place que le stockage d'une image à proprement parler.
 • Surtout, si tu souhaites redimensionner tes images dans différentes résolutions, quelles que soient les tailles (raisonnables bien évidemment, c-à-d pas trop petites), tu utiliseras toujours la même source SVG et il n'y aura pas d'effet de pixellisation lors des rendus.

L'inconvénient :
 • il te faudra inclure le code source dont je t'ai donné les liens et l'adapter à tes besoins pour ne conserver que le code réellement nécessaire.
J'ai des jpg qui pèsent moins de 2Ko, je ne pense pas que j'y gagnerai grand chose (je ne comprends pas l'allemand), surtout que je les obtiens à partir de SVG grâce à GIMP.

boddhi a écrit : mar. 28/mars/2023 18:52 PS: Peut-être faudrait-il créer un autre topic car on s'éloigne du sujet de celui en cours
Peut-être, mais l'avantage de ce topic est qu'on peut relire l'intégralité des messages afférents.
.
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Tester si bouton de souris appuyé ?

Message par falsam »

Stan_fr a écrit : mar. 28/mars/2023 20:41 J'ai dit que je n'avais que la version Windows 64 bits installée et me demandais si je pouvais installer sans risque le version 32 bits..
Oui tu peux. l'installation est indépendante de la version 64bits. Le dossier d'installation ne sera pas le même.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Stan_fr
Messages : 84
Inscription : mar. 07/mars/2023 20:01
Localisation : NANTES

Re: Tester si bouton de souris appuyé ?

Message par Stan_fr »

falsam a écrit : mar. 28/mars/2023 22:26
Stan_fr a écrit : mar. 28/mars/2023 20:41 J'ai dit que je n'avais que la version Windows 64 bits installée et me demandais si je pouvais installer sans risque le version 32 bits..
Oui tu peux. l'installation est indépendante de la version 64bits. Le dossier d'installation ne sera pas le même.
OK, MERCI je vais le faire. !

Pour les problèmes de fluidité, je peux peut-être descendre à une grille 12x12 ou 10x10 ?

Pour ne nombre de sons simultanés : est-ce qu'il y aurait moyen de faire appel à un truc qui "additionnerait" les différentes fréquences (ou sons) pour créer un beep composite ?
Il y a des langages dans lesquels ça se fait facilement.
Ou faire appel à un programme extérieur pour faire le son ?
.
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Tester si bouton de souris appuyé ?

Message par falsam »

Stan_fr a écrit : mar. 28/mars/2023 23:44 Pour les problèmes de fluidité, je peux peut-être descendre à une grille 12x12 ou 10x10 ?
Si tu trouves le moyen de jouer simultanément les sons verticaux, alors il est inutile de réduire la grille.
Stan_fr a écrit : mar. 28/mars/2023 23:44 Pour ne nombre de sons simultanés : est-ce qu'il y aurait moyen de faire appel à un truc qui "additionnerait" les différentes fréquences (ou sons) pour créer un beep composite ?
Peut être que quelqu'un trouvera une solution. Les sons MIDI peut être. C'est un domaine que je ne connais pas.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre