Page 3 of 4

Re: Color Transparente.

Posted: Fri Aug 26, 2011 1:33 pm
by erkosone
... uff.. solo pensarlo me entra nose que.. jejeje..

Necesitas para hacerlo en 32 bits una buena pila para almacenar los colores y que sea reversible.. yo directamente no lo haria así.. lo haría utilizando algún map put de estos estupendos que pintan un gráfico en otro teniendoen cuenta las zonas con canal alpha, es otra opción.

Aunque no estoy muy seguro de que se pueda hacer realmente, no lo he probado, pero tiene lógica.

Re: Color Transparente.

Posted: Fri Aug 26, 2011 1:42 pm
by Nightwolf
Actualmente lo que hago es guardar dos colores rgb, Lo que hago es reemplazar el color actual por uno nuevo y entonces guardo el ese color actual para luego cuando vaya a reemplazarlo por uno nuevo sepa cual debo cambiar.

Si quiero "reiniciar" el color, pues pego un reemplazo del color actual por el original (que como sé cual es, pues lo pongo directamente)

Claro que la idea era saber si había una función o un parámetro que pueda pasarle para que ese cambio lo revierta automáticamente al valor original sin modificar.

Por cierto esta función o no me va o no sé como usarla.
* INT MAP_SET_COLOR/COLOUR(INT fpg_id, INT graph, INT color_to_update, INT r, INT g, INT b)

porque me da error (ahora mismo no me acuerdo exactamennte, pero croe que decía que la función no se encontraba) ¿Qué diferencia hay con la map_set_pixel?

Re: Color Transparente.

Posted: Fri Aug 26, 2011 3:29 pm
by CicTec
Nightwolf wrote:Actualmente lo que hago es guardar dos colores rgb, Lo que hago es reemplazar el color actual por uno nuevo y entonces guardo el ese color actual para luego cuando vaya a reemplazarlo por uno nuevo sepa cual debo cambiar.

Si quiero "reiniciar" el color, pues pego un reemplazo del color actual por el original (que como sé cual es, pues lo pongo directamente)

Claro que la idea era saber si había una función o un parámetro que pueda pasarle para que ese cambio lo revierta automáticamente al valor original sin modificar.

Por cierto esta función o no me va o no sé como usarla.
* INT MAP_SET_COLOR/COLOUR(INT fpg_id, INT graph, INT color_to_update, INT r, INT g, INT b)

porque me da error (ahora mismo no me acuerdo exactamennte, pero croe que decía que la función no se encontraba) ¿Qué diferencia hay con la map_set_pixel?
Que error te da Night ?

MAP_SET_PIXEL en la nueva beta no va a existir mas y MAP_SET_COLOR va a tener los parametros que ahora son de MAP_SET_PIXEL, asi que de momento te recomiendo usar esta ultima y luego cambiarle el nombre cuando sera, el prototipo es:
INT MAP_SET_PIXEL(INT fpg_id, INT graph, INT old_color, INT new_color)

Pero recuerda que si quieres volver al grafico original, el color que cambias no debe existir ya en el grafico, sino hay que usar necesariamente MAP_CLONE.

Re: Color Transparente.

Posted: Fri Aug 26, 2011 3:38 pm
by TYCO
CicTec wrote:Pero recuerda que si quieres volver al grafico original, el color que cambias no debe existir ya en el grafico, sino hay que usar necesariamente MAP_CLONE.
Querrás decir: INT CLONE_MAP(INT fpg_id, INT graph).

Re: Color Transparente.

Posted: Fri Aug 26, 2011 3:55 pm
by Nightwolf
El error al usar la función de map_set_color: Error 84: No hay funciones coincidentes.

Re: Color Transparente.

Posted: Fri Aug 26, 2011 3:55 pm
by CicTec
TYCO wrote:
CicTec wrote:Pero recuerda que si quieres volver al grafico original, el color que cambias no debe existir ya en el grafico, sino hay que usar necesariamente MAP_CLONE.
Querrás decir: INT CLONE_MAP(INT fpg_id, INT graph).
Si eso jeje, me lie con la MAP_SET....

Re: Color Transparente.

Posted: Fri Aug 26, 2011 3:56 pm
by CicTec
Nightwolf wrote:El error al usar la función de map_set_color: Error 84: No hay funciones coincidentes.
Mmmm raro, pues usar map_set_pixel y luego le cambias el nombre a map_set_color para la nueva beta.

Re: Color Transparente.

Posted: Fri Aug 26, 2011 3:57 pm
by Nightwolf
¿Solo me pasa a mí? ¿O a alguien más? Lo he probado en los dos ordenadores que tengo, son instalaciones distintas. :S

Re: Color Transparente.

Posted: Fri Aug 26, 2011 4:16 pm
by SimulatorOne
CicTec wrote:El alma caritativa se llama Gemix, y por la sencilla razon que aun no tenemos DOC oficial, obviamente no sabeis cuanto es potente Gemix en tema de grafica 2D.

Te doy una buena noticia, no necesitas nigun programa, sino una sencilla funcion entre las 2:
* INT MAP_SET_COLOR/COLOUR(INT fpg_id, INT graph, INT color_to_update, INT r, INT g, INT b)
* INT MAP_SET_PIXEL(INT fpg_id, INT graph, INT old_color, INT new_color)


Tomando tu ejemplo hacer un:

Code: Select all

map_set_pixel(id_fpg, id_map, rgb(0, 0, 0), rgb(1, 1, 1));
Ya tienes lo que buscabas, o sea el mapa con todos los pixels de un color cambiados por otro.
Dios!!! en version 8bits de Div2, habia algo muy similar pero con paletas, solo indicabas el numero de color de la paleta, y este cambia.

jamas lo e probado en 16/32bits, es posible que lo llege a usarlo.
mira que lo e visto en la DOC de Gemix, y siempre me pregunto: "que utilidad puede tener este comando?"

jaja ahora ya lo se.
cictec, ya nos diras en la siguiente beta, que Comandos han sido borrados, Remplazados, modificados.
Para no liarla a la hora de compilar y nos de errores jajaja xDDD

Re: Color Transparente.

Posted: Fri Aug 26, 2011 4:19 pm
by erkosone
La verdad es que yo uso esta función bastante en el programa PIXELL.