IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Intéragir sur la luminosité de l'écran via un programme


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 10
    Par défaut Intéragir sur la luminosité de l'écran via un programme
    Bonjour.

    Actuellement, je dois réaliser un projet qui, à l'aide d'un capteur, modifie la luminosité de l'écran. Programmant la partie logiciel du projet sous Windows, j'ai pensé utilisé la WinAPI 32 pour intéragir au niveau de la luminosité; je me suis concentré sur la partie GDI, car elle controle l'interface graphique, cependant je n'ai pas trouvé de fonction interagissant sur l'écran.
    Donc ma question est la suivante, est ce que de telles fonctions existent sur la winAPI, et surtout est ce vraiment possible d'influer sur la luminosité via le PC?
    Quelle autre solution serait possible( je pensais sinon passer par la carte graphique, mais je ne sais pas si il y a une possibilité d'intéraction facile et pas très gourmande niveau processeur/mémoire)?

    Merci d'avance de vos réponses.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 109
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    #include <windows.h>
    #include <stdio.h>
    
    //---------------------------------------------------------------------
    BOOL SetGammaRamp(HDC hDC, int value)
    {
      int  i, r = 0;
    
      if(hDC){
        WORD tab[3][256];
    
        for(i = 0; i < 256; i++){
          int val = (value + 128) * i;
          tab[0][i] = tab[1][i] = tab[2][i] = val > 65535 ? 65535 : (WORD)val;
        }
    
        r = SetDeviceGammaRamp(hDC, tab);
      }
    
      return r;
    }
    
    //---------------------------------------------------------------------
    int main(void)
    {
      HDC hDC = GetDC(0);
    
      SetGammaRamp(hDC, 16);
      getchar();
      SetGammaRamp(hDC, 128);
      ReleaseDC(0, hDC);
      return 0;
    }

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 10
    Par défaut
    OK, je te remercie grandement pour ton code , qui ma fois marche très, juste à magouiller deux trois trucs et à bien me renseigner sur toutes les fonctions afin de bien comprendre.

    Par contre un truc que je n'arrive pas totalement à saisir c'est cette ligne

    int val = (value + 128) * i;

    Mais peut être est ce du au fait que je ne vois pas vraiment ce qu'est le type WORD, cependant pourquoi multiplier par i?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/04/2015, 17h07
  2. Réponses: 8
    Dernier message: 07/04/2015, 19h48
  3. Contrôler l'affichage sur 2 écrans via un script
    Par lvr dans le forum Windows XP
    Réponses: 5
    Dernier message: 29/11/2007, 10h09
  4. Faire des modifs sur une sheet excel Read Only via VBA
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2005, 18h02
  5. Internet sur PC portable depuis Téléphone Mobile (via GSM)
    Par krugernet dans le forum Développement
    Réponses: 4
    Dernier message: 16/11/2003, 17h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo