> -----Mensaje original-----
> De: Iván Caballero Cano
> 
> Buenos Días:
> 
>   Tengo un sistema con algunas tablas de una base de datos 
> postgresql, en algunos campos input de un formulario web se 
> almacenan los 3 valores RGB de algun color cualquiera.
>   Mas especificamente los 3 valores RGB se almacenan en un 
> solo campo y no es posible almanacer cada valor en 3 campos 
> diferentes.
> 
>  Para un usuario que usa el sistema de captura de esos 
> valores..puede resultar bastante incomodo encontrar los 3 
> numeros RGB para cierto color..como por ejemplo "128 128 128"
> 
> (El sistema funciona en WEB)
> 
> Y quisiera encontrar una forma de que el input en el 
> formulario saque alguna clase de ventana o componente web no 
> lo se...donde pueda seleccionar el color correspondiente y 
> entonces al elegirlo..entonces que se almacene en el input 
> los 3 valores RGB del color elegido.
> Incluso si se puede obtener el valor haxadecimal de dicho 
> color en ese input estaría bien, aunque luego yo necesitaria 
> encontrar la forma de obtener los 3 valores RGB de ese numero 
> hexadecimal.....en fin..
> 
> Alguna idea?

Como para darle un tinte de postgres a tu consulta, te ayudo con la última
parte: obtener los 3 componentes RGB.

create or replace function rgb(valor integer) returns integer[] as
$body$
declare
      r integer;
      g integer;
      b integer;
begin
   r := (valor / 65536)::integer;
   g := ((valor - r*65536) / 256)::integer;
   b := ((valor - r*65536- g*256));

   return ARRAY[r,g,b];
end;
$body$
language 'plpgsql' immutable;


pg# select rgb(16777215);
{255,255,255}

--
TIP 4: No hagas 'kill -9' a postmaster

Responder a