Couleur d une partie d une image php

Fallentree Messages postés 2445 Statut Membre -  
Fallentree Messages postés 2445 Statut Membre -
Bonjour,

Je cherche à établir la couleur du texte à ajouter au coin inférieur droit d'une image.


$filename="./tmp.jpg";
$image_p = imagecreatefromjpeg($filename);
list($width_orig, $height_orig) = getimagesize($filename);
$im =imagecreatetruecolor($lg, $ht);
imagecopy ( $im , $image_p , 0 , 0 , $width_orig-$lg, $height_orig-$ht , $lg, $ht);
imagejpeg($im,$Directory."/tmp".$i."-couleur.jpg" );
$colors = array(
array(203, 203, 203), //like white
array(153, 153, 153), //like grey
array(103, 103, 103), //like more grey
array(53, 53, 53)); //like black
echo"<br>";
foreach($colors as $id => $rgb)
{
$result = imagecolorclosesthwb($im, $rgb[0], $rgb[1], $rgb[2]);
$color2="#".dechex($result).dechex($result).dechex($result);
$color1="#".dechex($rgb[0]).dechex($rgb[1]).dechex($rgb[2]);
echo "#$id:<font color="$color1"> Recherche </font> ($rgb[0], $rgb[1], $rgb[2]); <font color="$color2">Correspondance </font>: $result.<br>\n";
}

Quelle serait le contraste a appliquer selon vous à une fonte pour une bonne lisibilité du texte ?

Merci de votre lecture.

1 réponse

  1. Fallentree Messages postés 2445 Statut Membre 210
     
    Recommandations WCAG, un bon indicateur
    Contrastes

    Selon les recommandations WCAG 2.0 du W3C, pour obtenir le niveau AA, la règle 1.4.3 nous indique ceci :

    Le texte (ou les images de texte informatif) de moins de 18 points (ou moins de 14 points en gras) devrait posséder un contraste de luminosité d'au moins 4,5 pour 1 avec son arrière-plan.
    Le texte (ou les images de texte informatif) de plus de 18 points (ou plus de 14 points en gras) devrait posséder un contraste de luminosité d'au moins 3 pour 1 avec son arrière-plan.

    Toujours selon les mêmes recommandations WCAG 2.0, pour obtenir le niveau AAA, la règle 1.4.6 nous indique :

    Le texte (ou les images de texte informatif) de moins de 18 points (ou moins de 14 points en gras) devrait posséder un contraste de luminosité d'au moins 7 pour 1 avec son arrière-plan.
    Le texte (ou les images de texte informatif) de plus de 18 points (ou plus de 14 points en gras) devrait posséder un contraste de luminosité d'au moins 4,5 pour 1 avec son arrière-plan.
    0
    1. Fallentree Messages postés 2445 Statut Membre 210
       
      donc un contracte de luminosite entre 3 et 4.5 pour 1 avec son arrière-plan.
      0
    2. Fallentree Messages postés 2445 Statut Membre 210
       
      $luminance=($color[0]+$color[1]+$color[2])/3;
      0
    3. Fallentree Messages postés 2445 Statut Membre 210
       
      Y = 0.2126 R + 0.7152 G + 0.0722 B
      0