Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/05/2007, à 20:52

Walsh

Capture d'écran multiplateforme ?

Bonjour,

Voici mon problème. Je voudrais pouvoir capturer la sortie graphique standard (comprenez par là la totalité de ce que l'on voit à l'écran).

Je me suis donc intéressé à SDL : une API portable et simple d'utilisation que j'ai déjà plusieurs fois utilisé. Mais je n'ai pas trouvé le moyen de récupérer ce que l'on voyais à l'écran. En gros, le but se rapprochait beaucoup des fonctionnalités d'un logiciel de capture d'écran. J'ai donc eu l'idée de me tourner vers des logiciels de capture d'écran open source (pour accéder au code évidemment).
Mais je n'ai malheureusement pas trouvé de logiciel libre de ce type qui était multiplateforme. Ce qui est bien dommage. neutral

Voila donc la question : connaissez vous un ou plusieurs logiciels, libre, de capture d'écran, mutliplateforme et surtout écris en C/C++. Ou sinon connaissez vous le moyen de faire ce que j'ai décris plus haut, sur n'importe quelle plateforme ?

Je sais que j'en demande beaucoup et que c'est une question difficile hmm .
Toutes les réponses sont les bienvenues.

Walsh

#2 Le 11/05/2007, à 11:00

EdLeH

Re : Capture d'écran multiplateforme ?

Bonjour

J'ai eu besoin de faire un programme qui réalise des photos d'écrans aussi bien sous Linux que sous Windows.
N'ayant pas de Mac à disposition, je n'ai pas fait mais ça doit pouvoir marcher aussi. Il suffit de trouver la bonne librairie et la bonne instruction.

Par contre, c'est en python, mais tu dois pouvoir adapter.

N'ayant pas trouvé de librairie marchant sur les 2 systèmes, le principe est le suivant :

Détecter l'OS.
Si c'est Linux, j'utilise ImageMagic par la commande "import -silent -window root nomdufichier"
Si c'est Windows, j'utilise PIL par ImageGrab
Si c'est Mac, pour l'instant rien

ImageMagic marche aussi sur Windows, mais malheureusement pas la commande import.
Comme c'est une ligne de commande, tu pourras l'utiliser en C.

PIL marche aussi sur Linux, mais malheureusement pas le module ImageGrab.
Par contre, c'est du Python, mais il doit bien y avoir un équivalent en C.

Espérant que cela puisse t' aider un peu.

O-
Pascal

PS : la partie du code Python qui t'intéresse :

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os, sys

TheOs = sys.platform

nomfichier = "ecran.jpg"
fichier = os.path.join(chemin , nomfichier)

if TheOs == 'linux2':
    ligne_commande = "import -silent -window root " + fichier
    os.system(ligne_commande)
elif TheOs == 'win32':
    import Image, ImageGrab
    ImageGrab.grab().save(fichier)
else:
    print "pas fait"

Hors ligne