Obtener el inverso de un color determinado [Solucionado]

Publicado por slampdesign, Junio 19, 2011, 09:59:18 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

slampdesign

Buenas, quisiera saber como puedo obtener o transformar al inverso un color cualquiera, cmo por ejemplo de blanco a negro o viceversa,, espero su ayuda...

Killer

Si no me equivoco puedes adquirir el negativo de cada color restando el valor de sus componentes al máximo valor posible:

Morado:
R:188
G:2
B:218

Verde (negativo de morado):
R:67
G:253
B:37

Morado a verde:
R:255 - 188 = 67
G:255 - 2 = 253
B:255 - 218 = 37

Verde a morado:
R:255 - 67 = 188
G:255 - 253 = 2
B:255 - 37 = 218

brunoxzx

#2
Pues siguiendo la lógica de killer, también puedes conseguir el negativo de cada color restando el color que quieras a 16777215 o (256*256*256) o ($FFFFFF ) y hasta puedes usar (c_white).
Ejemplos.
[gml]
//todos te dan el negativo del morado (verde)
draw_set_color((c_white)-c_purple)//o
draw_set_color(16777215-8388736)//o
draw_set_color($FFFFFF-$800080)//o
//También puedes combinarlos ya que en realidad todos son el mismo numero solo que puesto de manera distina
//Por ejemplo
draw_set_color((c_white)-$800080)
[/gml]

slampdesign

Bueno, probé con el tuyo brunoxzx y no me funciono, necesito obtener el valor inverso de un color contenido en una variable.  :-[

Killer

De hecho el el método de brunoxzx funciona, pero si estas usando las constantes no le sumes 1 a c_white.

También podrías simplemente usar el valor decimal o el hexadecimal que brunoxzx tubo la cortesía de ponerte.

slampdesign

Bueno, la verdad, no encuentro como usarlo, ya intente con todas las maneras a mi conocimiento, podrias hacer un ejemplo o copiarlo textualmente porfavor?

Wadk

#6
Podés usar esto:
[gml]color = 16777215 - color;[/gml]
o esto:
[gml]color = $FFFFFF - color;[/gml]
o esto:
[gml]color = c_white - color;[/gml]

Por cierto...
Cita de: brunoxzx en Junio 20, 2011, 01:35:38 AM
Pues siguiendo la lógica de killer, también puedes conseguir el negativo de cada color restando el color que quieras a 16777215 o (255*255*255) o ($FFFFFF ) y hasta puedes usar (c_white+1).
255³ es 16581375. El valor correcto es 256³ - 1.
Y a c_white no hay que sumarle 1, como dijo Killer.
Vim.

brunoxzx

#7
Si xd hace rato vi que killer había escrito y releí lo que yo escribí y recordé que era 256*256*256 pero no tube tiempo de escribir nada al respecto, y lo del c_white+1 pues según yo era así pero ahora que lo veo pues no XD, y si no es c_white+1 pues como ya dijo wadk a 256³ tendría que restarle 1.

P.D: Creo que escribí muy raro intentare ya no hacerlo así.

slampdesign

Gracias a todos, en especial a Wadk que me encontro la solucion cmo la queria XD

Powered by EzPortal
SMF spam blocked by CleanTalk