Partage
  • Partager sur Facebook
  • Partager sur Twitter

Affichage pygame depuis site

Problème interface graphique

    2 janvier 2017 à 11:36:55

    Bonjour, 

    Je post ici car j'ai un problème que je n'arrive pas à résoudre ...

    J'ai une interface graphique qui fonctionne très bien (en python 2.7 et avec pygame).

    Depuis un site internet -HTML/CSS/JS et PHP côté serveur) je souhaite lancer l'interface graphique.

    Le lancement fonctionne mais il ne prend pas en compte les paramètres du "set_mode" de pygame. L'interface est en plein écran tout le temps quelque soit les paramètres ... Alors que le script python seul renvoi bien une fenêtre resizable comme souhaitée.

    Pour information, le tout tourne sur un raspberry pi 3 avec le site internet sur apache et l'interface pygame est en python 2.7

    Merci beaucoup pour votre aide !

    Voici mes bouts de codes : 

    HTML/PHP : 

    <?php 
    shell_exec( "export DISPLAY=:0.0; sudo python /var/www/html/streaming/preview.py" );


    PYGAME : 

    #!/usr/bin/python
    
    import piggyphoto, pygame
    import time
    import os
    
    drivers = ('directfb', 'fbcon', 'svgalib')
    os.putenv('SDL_FBDEV','/dev/fb0')
    os.environ["SDL_FBDEV"] = "/dev/fb0"
    found = False
    for driver in drivers:
       print "Trying \'" + driver + "\'",
       if not os.getenv('SDL_VIDEODRIVER'):
          os.putenv('SDL_VIDEODRIVER',driver)
       try:
          pygame.display.init()
       except pygame.error:
          print 'failed'
          continue
       found = True
       break
    if not found:
       raise Exception('No suitable video driver found.')
    
    print "success"
    
    # Initialisation de l'ecran
    pygame.init()
    screen = pygame.display.set_mode((640, 480), pygame.RESIZABLE)
    
    # on met un fond blanc
    screen.fill((255, 255, 255))
    pygame.display.update()
    
    C = piggyphoto.camera()
    C.leave_locked()
    	
    time0 = time.clock()
    while (time.clock() - time0) < 3:
    	C.capture_preview('/var/www/html/streaming/picture_preview.jpg')
    	time.sleep(0.05)
    	img = pygame.image.load("/var/www/html/streaming/picture_preview.jpg")
    	img = pygame.transform.flip(img, True, False)
    	img = pygame.transform.scale(img, (800, 533))
    	screen.blit(img, (0, 0))
    	pygame.display.update()
    
    C.leave_locked()



    • Partager sur Facebook
    • Partager sur Twitter
      3 janvier 2017 à 16:30:36

      Bonjour, 

      Personne ne peut m'aider ? :(

      • Partager sur Facebook
      • Partager sur Twitter
        3 janvier 2017 à 17:49:47

        Désolé,

        Jamais utilisé pygame .

        • Partager sur Facebook
        • Partager sur Twitter
          4 janvier 2017 à 16:07:49

          Je pense que la problématique se posera que j'utilises Tkinker, Qt ou Pygame ... A partir du moment où il y a une interface graphique réalisée en python j'ai l'impression que l'exécution depuis le php n'a pas accès aux librairies de manipulation de l'écran ...
          • Partager sur Facebook
          • Partager sur Twitter

          Affichage pygame depuis site

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown