1 votes

Comment changer l'intensité du rétro-éclairage avec Root sur un téléphone à écran LCD ?

Je veux que le rétroéclairage de mon téléphone change d'intensité de façon dynamique, et qu'il s'éteigne même complètement lorsque l'écran est complètement noir, par exemple. Comment cela est-il possible ? C'est un nexus 5 qui tourne sous cataclysme 5.0.1 avec un noyau elementalx.

1voto

Alex Angas Points 20408

Vous pourriez envisager de capturer une image de l'écran, puis de traiter ce bitmap pour connaître la luminosité de chaque pixel.

El Bibliothèque de captures d'écran Android (ASL) devrait vous donner des informations sur la façon de faire une capture d'écran. Ce lien sur StackOverflow explique également comment le faire, mais le lien principal semble être l'ASL.

Pour calculer la luminosité des pixels, vous pouvez le faire dans l'une ou l'autre des méthodes suivantes Espaces couleur RGB ou HSV . Je pense que je le ferais en HSV, puisque la valeur (le V en HSV) est la luminosité de la couleur du pixel. Vous pourriez également le faire avec les trois paramètres de couleur de l'espace couleur RVB, mais vous travaillez alors avec des ratios et vous devez effectuer plus de calculs vous-même. Avec HSV, il suffit (je pense) d'additionner toutes les valeurs et de les diviser par le nombre de pixels. (Vous pouvez éventuellement ajouter un scalaire si un changement linéaire de la luminosité ne vous convient pas. Par exemple : avoir un changement de rétroéclairage plus lent lorsque vous avez des graphiques lumineux, mais aller plus rapidement vers un rétroéclairage nul lorsque vous avez des graphiques proches du noir).

Avec ce travail, vous pourriez envisager de faire le travail en utilisant RenderScript d'Android . Le traitement des graphiques est la raison pour laquelle RenderScript a été conçu, et il s'occupe du parallélisme pour vous. Vous pourriez aussi bien utiliser tous les cœurs de CPU / CPU / DSP dont vous disposez.

Enfin, vous voudrez peut-être poursuivre en vous montrant rusé et en utilisant les informations du capteur de lumière de l'appareil. Après tout, si vous devez modifier dynamiquement le rétroéclairage en fonction de ce qui est affiché à l'écran, vous pouvez également tenir compte de la luminosité ambiante autour de l'appareil :-)

J'espère que cela vous aidera !

Edit : J'espère que vous cherchiez une réponse en matière de programmation. Je n'avais pas vraiment pensé au fait que cette question était postée sur Android Enthusiasts plutôt que sur Stack Overflow :-)

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X