Effets sur le rendu des couleurs pour les caméras Android
La classe Camera.Parameters permet quelques effets sur le rendu des couleurs (un peu comme les filtres sur un vrai appareil photo avant le numérique). Comme le sépia, le monochrome, ...
Postionner un effet ou connaître l'effet en cours
La programmation est vraiment très simple:
- Positionner un effet se fera à l'aide de la méthode:
public void setColorEffect (String value);
Où value est l'effet que vous désirez appliquer.
Avant
d'appliquer un effet, il faut vérifier que celui-ci est disponible
sur l'appareil.
N'oubliez pas
d'appliquer le changement de paramètres sur la
Camera !
- Récupérer l'effet actuellement en cours se fera grâce à:
public String getColorEffect ();
La valeur
pourra être null en retour si les effets ne sont pas supportés
par l'appareil.
Les effets proposés
Les valeurs seront positionnées dans les constantes suivantes de Camera.Parameters:
EFFECT_NONE
EFFECT_MONO
EFFECT_NEGATIVE
EFFECT_SOLARIZE
EFFECT_SEPIA
EFFECT_POSTERIZE
EFFECT_WHITEBOARD
EFFECT_BLACKBOARD
EFFECT_AQUA
Et d'autres effets peuvent être disponibles...
Les valeurs effectivement disponibles sur l'appareil seront récupérables avec la méthode suivante:
public List<String> getSupportedColorEffects ();
La liste
peut être null si aucun effet n'est supporté sur l'appareil.
Exemple
Passage en effet sepia (il faudrait contrôler que l'effet soit disponible pour l'appareil) et affichage des effets disponibles...
Où camera est une instance de Camera.