Tayo
Astuce et Tutorial » Programmation / Developpement » Php Mysql » tutoriel rédigé par Zabuza
Description de cet article : Désignation rgb d'un pixel d'une image
Lire les commentaires

PHP : Trouver la couleur d'un pixel avec imagecolorat





Utilisation de la fonction gd imagecolorat.

Il peut être utile de détecter la couleur d'un pixel ( ou d'une multitude ) d'une image pour plusieurs cas. Voici quelques exemples :



  • Comparison de plusieurs images grâce à php

  • Appliquer des filtres sur une image, toujours grâce à php ( contraste / teinte luminosité.. )

  • Trouver la couleur la plus utilisée dans une image pour adapter le design d'une page à celle-ci...


 

Pour utiliser la fonction imagecolorat, vous devez avoir la librairie gd de présente. Elle est normalement sur la majorité des serveurs.



imagecolorat ( resource $image , int $x , int $y )

 




Commençons par le plus simple. "Chargez" l'image.


[code=php]<?php $im = imagecreatefromjpeg('test.jpg'); ?>[/code]



imagecreatefromjpeg va charger une image jpeg du nom de test.jpg. Cette image doit bien sûr exister...


[code=php]<?php $rgb = imagecolorat($im, 10, 15);?>[/code]



On récupère ainsi simplement la couleur grâce aux coordonnées X ( ici 10 ) et Y ( ici 15 ) de l'image $im. Pour rappel, X correspond à la valeur de la largeur,Yla hauteur.


[code=php]<?php

$r = ($rgb >> 16) & 0xFF;

$g = ($rgb >> 8) & 0xFF;

$b = $rgb & 0xFF; ?>[/code]

On affiche la couleur rgb $r pour red, $g pour green, $b pour blue.


[code=php]<?php $im = imagecreatefromjpeg('test.jpg');

$x = 10 ; $y = 15 ;

$rgb = imagecolorat($im, $x, $y);

$r = ($rgb >> 16) & 0xFF;

$g = ($rgb >> 8) & 0xFF;

$b = $rgb & 0xFF;

echo "La couleur du pixel aux coordonnées 10,15 est : $r$g$b <br/>" ; # Affichage des résultats..

?>[/code]

 


Aller un peu plus loin avec les pixels :





















































           
     ABCD      
     EFGH      
           
   

     
           

Si vous avez un peu de mal avec la gestion des "pixels", n'oubliez pas que les images que vous voyez à votre écran sont "découpées" en pixels, des petits rectangles. Plus ils sont nombreux, plus la résolution de l'image ( donc la qualité ) sera bonne...

Regardez ce tableau, imaginons que chaque case correspondent à un pixel.

Notre texte "ABCD"  est en fait placé aux coordonnées 3,2. Pendant que le texte EFGH est placé aux coordonnées 3,3.

Vous l'aurez compris, pour désigner les coordonnées d'un pixel on part de la gauche vers la droite et du haut vers le bas.

 



réduireNews
réduireTutoriel lié
réduireSocial

rss 3D png rss 3D png


Pseudo :
Pass :
Les lecteurs ont donné une note moyenne de :
note 1
Note: 1 sur 10

Donnez votre note à ce tuto sur 10 :

Liste des commentaires pour PHP : Trouver la couleur d'un pixel avec imagecolorat °° Tutoriel


Votre PseudoIl y a 0mn
Votre commentaire forum
Vous avez la parole
Laissez un commentaire sur cet article.
Pseudo :


Facultatif : Cliquez ici pour choisir une tête
Votre email ( non publié ) :

Image anti spam :
Code Image
Recopier les 5 chiffres de cette image :






Prendre contact avec Tayo.fr : Formulaire Tayo

Tayo.fr, copyright jusqu'en 2233 ( Au moins ! ).