Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/12/2013, 16:05
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Problema con paleta de colores PHP

Buenas,

Estoy tratando de extraer el color de los pixels de una imagen y me está volviendo loco.

La parte de recorrer los pixels de la imagen y tal la tengo clara, mi problema radica en que despues de varias pruebas los colores que me pilla el script no son los colores reales, sino que los transforma y me saca el color más próximo a los Web Safe Colors, que son 216 exactamente.

Ejemplo:
http://www.techbomb.com/websafe/
http://es.html.net/tutorials/html/le...olourchart.php

La parte de identificar el color la hago de la siguiente manera

Código PHP:
Ver original
  1. $thisColor = imagecolorat($img, $x, $y);
  2.  
  3. $rgb = imagecolorsforindex($img, $thisColor);
  4.            
  5. $red = round(round(($rgb['red'] / 0x33)) * 0x33);
  6. $green = round(round(($rgb['green'] / 0x33)) * 0x33);
  7. $blue = round(round(($rgb['blue'] / 0x33)) * 0x33);
  8. $thisRGB = sprintf('%02X%02X%02X', $red, $green, $blue);

Pero no sé si es la función imagecolorat o imagecolorsforindex la que "distorsiona" el color verdadero y me muestra uno de los Web Safe Colors.

Sabéis como puedo mostrar el color verdadero del pixel? tengo que hacer algo antes o aplicar otro comando?

Muchas gracias de antemano