La utilización de colores en GD es algo mas compleja que en HTML aunque ambos utilizan el modelo RGB. ArribaTabla de contenidoArribaCrear un colorPara usar un determinado color con GD en PHP, primero tenemos que reservar ese color en la imagen. Para reservarlo usaremos la funcion imagecolorallocate y almacenaremos su valor de retorno en una variable para pasarsela después como color a las funciones de dibujo, coloreado...
Nota: El primer color creado con imagecolorallocate será utilizado como color de fondo de la imagen. Los parametros que pasaremos a la funcion serán la variable del objeto image y los valores de la intensidad en 24 bits ( de 0 a 255 ) de los colores rojo, verde y azul en este orden, veamos un ejemplo:
000 001 002 003
|
<?php $color = imagecolorallocate($im, 255, 0, 0); // 100% rojo, 0% verde, 0% azul ?>
|
ArribaObtencion de un color de la imagenOtra opción para crear un color consiste en obtener el color de un punto determinado de la imagen usando imagecolorat con el objeto imagen y las coordenadas del punto:
000 001 002 003
|
<?php $imagen = ImageCreateFromPng("manzana.png"); $color = ImageColorAt($imagen, 100, 200); // x: 100, y: 200 ?>
|
ArribaUtilización del colorUna vez creado el color con cualquier de los dos métodos anteriores, y almacenado su valor ( variable imagen en los ejemplos ), podemos utilizarlo en las funciones que permiten colores pasando la variable, vamos a seguir los ejemplos anteriores:
000 001 002 003
|
<?php imagefill ( $imagen, 1, 1, $color ); // Usamos el cubo de pintura con el color creado en x=1 y=1 ?>
|
|