ven 25 jan 2008

Sources "Une pipette pour le web"

25 01 2008

Voici les sources de la pipette faite il y a plus d'un an, j'avais laissé ça dans un placard et du coup pas le temps de m'y replonger.

cf. Une pipette pour le web (16/11/2006)

En définitive ce sont des sources très simples,

> Récupération des coordonnées via clic sur l'image

<script type="text/javascript">
function coords(e, img) 
{
  	var xpos = e.layerX ? e.layerX : e.offsetX ? e.offsetX : 0;
   	var ypos = e.layerY ? e.layerY : e.offsetY ? e.offsetY : 0;
	 
        // On lance la récupération des couleurs sur ces coordonnées
        getColor(img, xpos, ypos);
}
</script>

> Récupération des couleurs

<script type="text/javascript">
function getColor(mon_image, xpos, ypos)
{
        // Appel de la page couleurs.php via ajax
}
</script>

> couleurs.php

<?php
// on ouvre une image
$im = imagecreatefromjpeg($_GET['mon_image']);
 
// Retourne l'index de la couleur d'un pixel donné
$color_index = imagecolorat($im, $_GET['xpos'], $_GET['ypos']);
 
// Retourne la couleur associée à un index
$color_tran = imagecolorsforindex($im, $color_index);
			 
// Option : Convertit de décimal en hexadécimal
$hexaR = str_pad(dechex($color_tran['red']), 2, "0", STR_PAD_LEFT);
$hexaG = str_pad(dechex($color_tran['green']), 2, "0", STR_PAD_LEFT);
$hexaB = str_pad(dechex($color_tran['blue']), 2, "0", STR_PAD_LEFT);
?>

Et après on fait ce qu'on veut du résultat :)