Comunidad Game Maker

Ayuda => Desarrollo de Scripts => Mensaje iniciado por: LigTopet en Marzo 21, 2011, 08:36:03 AM

Título: HSL a RGB
Publicado por: LigTopet en Marzo 21, 2011, 08:36:03 AM
Nombre del creador-... (encontre un codigo para C googleando XD)
Version GM utilizada:  probado en :GM6:, aunque creo que se puede usar en versiones posteriores.
Descripcion: Devuelve un color segun los valores HSL (http://es.wikipedia.org/wiki/Modelo_de_color_HSL) dados.

Script hsl_to_rgb:
[gml]
/* hsl_to_rgb(hue,saturation,lightness)
los valores van de 0 a 1, ejemplo:
    hsl_to_rgb(0,0.5,0.5)
*/
var R,G,B,a,b;

if(argument1=0)
   {
       R=argument2*255
       G=argument2*255
       B=argument2*255
   }
else
   {
       if(argument2<0.5)
           b=argument2*(1+argument1)
       else
           b=(argument2+argument1)-(argument1*argument2)

           a=2*argument2-b

       R=255*ap(a,b,argument0+(1/3))
       G=255*ap(a,b,argument0)
       B=255*ap(a,b,argument0-(1/3))
   }
   
return(make_color(R,G,B))[/gml]

Script ap:
[gml]if(argument2<0)
   argument2+=1

if(argument2>1)
   argument2-=1

if((6*argument2)<1)
{
   return(argument0+(argument1-argument0)*6*argument2)
   exit
}

if((2*argument2)<1)
{
   return(argument1)
   exit
}

if((3*argument2)<2)
{
   return(argument0+(argument1-argument0)*((2/3)-argument2)*6)
   exit
}

return(argument0)[/gml]
Título: Re: HSL a RGB
Publicado por: Metal Mario en Abril 03, 2011, 01:21:22 AM
Pues a mi me gusta usar mas los colores RGB.
No se supone que es HSV (hue,saturation,value)?
Buen script. ;)
Título: Re: HSL a RGB
Publicado por: LigTopet en Abril 03, 2011, 01:40:04 AM
No, de hecho el HSV (Hue, Saturation, Value) es diferente al HSL (Hue, Saturation, Lightness), si fueran lo mismo no tendria caso hacer el script puesto que GM ya trae para hacer los colores HSV.
HSL (http://es.wikipedia.org/wiki/Modelo_de_color_HSL)
HSV (http://es.wikipedia.org/wiki/Modelo_de_color_HSV)

Comparaci?n (http://en.wikipedia.org/wiki/HSL_and_HSV)

El HSL es mejor que HSV, y el HSV mejor que RGB.
Cita de: WikipediaHSL es similar al modelo HSV pero refleja mejor la noci?n intuitiva de la saturaci?n y la luminancia como dos par?metros independientes, y por tanto es un modelo m?s adecuado para los artistas. La especificaci?n de las hojas de estilo en cascada (CSS) en su versi?n 3 prefieren HSL porque es sim?trico al eje luz-oscuridad, lo que no sucede con el modelo HSV ("Advantages of HSL are that it is symmetrical to lightness and darkness (which is not the case with HSV for example)..."). Significa que:

    *En HSL, la componente de la saturaci?n va desde el completamente saturado hasta el gris equivalente, mientras que en HSV, con V al m?ximo, va desde el color saturado hasta el blanco, lo que no es muy intuitivo.
    *La luminancia en HSL siempre va desde el negro hasta el blanco pasando por la tonalidad deseada, mientras que en HSV la componente V se queda a mitad camino, entre el negro y la tonalidad escogida.

Saludos
Título: Re: HSL a RGB
Publicado por: Metal Mario en Abril 03, 2011, 01:44:36 AM
Okay. Entendido.
Pense que era un error tuyo.(cielos, me hace falta googlear un poquito, no? XD)
Título: Re: HSL a RGB
Publicado por: Ciberman en Abril 03, 2011, 05:59:16 PM
wow... no sab?a de este modo de color....
no prob? el script pero supongo que debe de funcionar...
me sorprende, muy bueno, por ahora no le veo mucha utilidad pero estar?a bueno hacerse un programa de paletas de colores  (*Cof*cof*cof)  (http://www.comunidadgm.org/index.php?topic=14306.0) o algun sistema de recolours para un juego...

Bueno, suerte! Muy bueno..