wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 1

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Luminosité / contraste depuis un logiciel ?
Conversation (Résolue) : Luminosité / contraste depuis un logiciel ?
15-12-2008 16:55:36  Luminosité / contraste depuis un logiciel ? #1
guyothomas (Membre)
Inscrit le : 05-06-2008
Messages: 66
Snippets: 0
Tutoriels: 0
Hors ligne
Bonsoir à la communauté!

Y en a-t-il parmi vous qui sauraient comment accéder aux paramètres tels que luminosité et contraste d'un écran depuis un soft fait avec wxWidgets?

Est-ce seulement possible de piloter ça logiciellement?

Merci d'avance de vos conseils,

Thomas.
16-12-2008 09:10:11  Re: Luminosité / contraste depuis un logiciel ? #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

A mon avis, tu t'attaques à un truc balèze.

Je pense que le seul moyen de pouvoir modifier ça, c'est de se tourner vers une éventuelle API pour la carte graphique.
Ça implique également au minimum un code différent pour chaque constructeur (voir même un code différent pour chaque carte graphique).

Enfin, si tu trouves, n'hésites pas à en faire profiter les autres ;)

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
16-12-2008 11:12:39  Re: Luminosité / contraste depuis un logiciel ? #3
guyothomas (Membre)
Inscrit le : 05-06-2008
Messages: 66
Snippets: 0
Tutoriels: 0
Hors ligne
Salut,

en effet, ça a l'air assez balèze cette histoire. C'est bien ce que je pensais...
Et donc si c'est possible, c'est ultra dur et dépendant du chipset graphique...

Je pense à une manière (vraiment) détournée et qui me conviendrait de réaliser ceci :
Ce serait d'appeler le gestionnaire de propriétés de la carte graphique et de laisser l'utilisateur se débrouiller avec ça...

Me reste plus qu'à trouver comment lancer ce gestionnaire depuis mon programme... comme ça, ça fait moins à coder (même si c'est un chemin et un nom différent pour chaque constructeur), et puis ça m'évite d'essayer d'appeler direct des fonctions de la carte graphique, ce qui peut s'avérer laborieux voire dangereux.

Je poste la soluce dès que j'ai quelque chose.
Je pourrai tester pour les chipsets NVidia et Intel, mais j'ai pas d'ATI sous la main...

Merci Xav' et bonne journée les codeurs,
Thomas.
16-12-2008 11:26:15  Re: Luminosité / contraste depuis un logiciel ? #4
xxltux (Membre)
Lieu: Montpellier
Inscrit le : 07-10-2007
Messages: 544
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Regarde du coté de l'API de ton systéme d'exploitation, a mon avis wx ne le fait pas, mais c'est possible vu que le réglage est possible dans windows

Itérer est humain, récurser est divin
16-12-2008 11:34:10  Re: Luminosité / contraste depuis un logiciel ? #5
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Il me semble que NVidia ajoute une entrée au panneau de configuration. Essayes de voir de ce côté là (fichier ".cpl" dans system32).

Par contre, pour ATI, il n'y en a pas.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
16-12-2008 12:20:01  Re: Luminosité / contraste depuis un logiciel ? #6
guyothomas (Membre)
Inscrit le : 05-06-2008
Messages: 66
Snippets: 0
Tutoriels: 0
Hors ligne
D'abord, merci pour votre intérêt.
xxltux:
c'est possible vu que le réglage est possible dans windows
Où est-ce possible?
J'ai trouvé des choses dans l'API windows (VIDEOPARAMETERS), mais c'est toujours pour des vidéos (style .avi ou autres) à proprement parler, pas pour les réglages de l'écran en lui même.
Comme je me fous de la portabilité de mon prog (je sais c'est pas bien ^^), je suis prêt à utiliser une fonction de Windows pour ça, mais je crois pas qu'il y en ait... en tous cas j'ai pas trouvé.

>> Xav' :
il y a bien ce fichier 'nvcpl.cpl' qui lorsque double-cliqué lance le panneau de config Nvidia.
Lorsque cliqué droit et ouvert avec notepad++, il est complètement illisible (type fichier binaire???). Je ne vois pas comment modifier ce fichier pour obtenir mon résultat...

>> à tous :
un petit lien qui donne des infos sur le lancement d'un .exe depuis un prog wxWidgets serait extrêmement très bienvenu...

merci, grâce à vous je vais y arriver!
16-12-2008 13:04:49  Re: Luminosité / contraste depuis un logiciel ? #7
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
guyothomas:
>> Xav' :
il y a bien ce fichier 'nvcpl.cpl' qui lorsque double-cliqué lance le panneau de config Nvidia.
Lorsque cliqué droit et ouvert avec notepad++, il est complètement illisible (type fichier binaire???). Je ne vois pas comment modifier ce fichier pour obtenir mon résultat...
C'est bien ça : comme tu parlais d'éventuellement afficher la boite Windows pour les réglages.
Avec NVidia, ça passe par le panneau de configuration

guyothomas:
>> à tous :
un petit lien qui donne des infos sur le lancement d'un .exe depuis un prog wxWidgets serait extrêmement très bienvenu...
wxExecute devrait faire l'affaire.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
16-12-2008 16:03:55  Re: Luminosité / contraste depuis un logiciel ? #8
gbdivers (Membre)
Inscrit le : 05-03-2008
Messages: 92
Snippets: 2
Tutoriels: 0
Hors ligne
petite question, si c'est pas indiscret, c'est pour faire quoi ?
16-12-2008 16:38:24  Re: Luminosité / contraste depuis un logiciel ? #9
guyothomas (Membre)
Inscrit le : 05-06-2008
Messages: 66
Snippets: 0
Tutoriels: 0
Hors ligne
Bon alors,

Merci @ Xav', wxExecute fait très bien l'affaire.
Je vais marquer ça comme résolu, même si j'ai pas la solution la plus propre... J'aurais bien aimé avoir de quoi les régler directement depuis mon appli, mais pas du tout envie de coder pour chaque fabricant en encore moins pour chaque famille de cartes! développeur, oui, maso, non!

>> Gbdivers :
Une petite Lapalissade: c'est pour que l'utilisateur (qui ne connait à priori pas grand chose en informatique) de mon logiciel ait un moyen simple s'il le souhaite d'accéder à ces paramètres pour son écran.

Voici des extraits de code qui tourne, en reprenant l'exemple "exec" de wxWidgets.

Code wxWidgets:

void MyFrame::OnFileExec(wxCommandEvent& WXUNUSED(event))
{
    wxString filename;
 
    if (GetGraphic_vendor() == "nvidia")
        filename = "C:\\WINDOWS\\system32\\nvcplui.exe";    // Path to Nvidia graphics CP...
    else if (GetGraphic_vendor() == "intel")
        filename = "C:\\WINDOWS\\system32\\igfxcfg.exe";    // Path to Intel graphics CP...
    else
    {
        wxLogError("The system cannot find the display settings for you screen.");
        filename = "";
    }
 
    if ( filename.empty() )
        return;
 
    wxString ext = filename.AfterFirst(_T('.'));
    wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext);
    if ( !ft )
    {
        wxLogError(_T("Impossible to determine the file type for extension '%s'"),
                   ext.c_str());
        return;
    }
    wxString cmd;
    bool ok = ft->GetOpenCommand(&cmd,
                                 wxFileType::MessageParameters(filename));
    delete ft;
    if ( !ok )
    {
        wxLogError(_T("Impossible to find out how to open files of extension '%s'"),
                   ext.c_str());
        return;
    }
    DoAsyncExec(cmd);
};


Merci à tous pour votre aide,
à plus tard,

Thomas.
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Luminosité / contraste depuis un logiciel ?