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.

Image non trouvée !Avant d'appliquer un effet, il faut vérifier que celui-ci est disponible sur l'appareil.

Image non trouvée !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 ();

Image non trouvée !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 ();

Image non trouvée !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.