Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





teñir colores

Iniciado por RobiHm, 11 de Diciembre de 2007, 12:25:15 AM

« anterior - próximo »

RobiHm

me gustaría cambiar el color de una imagen por la del color de equipo de cada jugador y no encuentro manera de hacerlo

la imagen con la que voy haciendo pruebas es



el color que quiero cambiar por otro es el (255,214,0,127) uséase el rosa, si es que no lo he calculado mal

al cargar las imágenes lo hago así:
m_gfx.MAP_Load(App.Path & "\images\prueba.png", m_gfx.ARGB_Set(255, 214, 0, 127))


y al mostrarla le da igual lo que haga porque esas zonas no las deja transparentes:
Call m_gfx.DRAW_MapEx(prueba, 10, 10, 1, 0, 0, 0, Blendop_Color, _
         m_gfx.ARGB_Set(200, 0, 125, 255), _
         Mirror_None, Blit_Filter.Filter_Bilinear, False)


hasta ahora solamente he conseguido cambiar el color entero de la imágen y tras hacer mil pruebas no encuentro solución alguna ...
Web : Indómita
Blog : MiBlog
Evobas : Evobas
Kobox : Kobox

Hechelion

No soy experto en la libreria de Exe, pero me parece que cuando se desea cambiar los colores, lo que se cambia es el color de la paleta. Por ejemplo el mugen te aguanta distintas paletas de colores y tú escoges cual usar.

abria que esperar a exe, o revisar si la libreria tiene comandos para modificar la paleta.

PD: ¿Demiurgo de evoba?

[EX3]

Me temo que con dx_lib32 no te sera posible modificar colores concretos de una textura si no el conjunto entero mediante el tintado de color (ahora entiendo el otro post de los pixeles :()

Por cierto, dx_lib32 no trabaja con paletas como se hacia en modos de 8 bits en el que la escena entera o cada superficie tenia su propia paleta de colores, si no con los colores del pixel a 32 bits, lo que hace que de igual el formato original de la imagen, dx_lib32 siempre la almacena en formato 32bits XRGB. Por esto se hace algo complejo el trabajar a nivel de pixel (sobre todo sin el apoyo de los pixel shaders a nivel de hardware, por que a nivel de software... mejor olvidarlo)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

RobiHm

aaaaaaaaaaaaaaaaaaaaaaa

menuda p***** ahora que he conseguido mover batallones enteros no puedo cambiarles los uniformes, lo único que se me ocurre es tener las animaciones de las unidades en diferentes colores ... o tener una sombra de las partes que quiero pintar en blanco, pintarlas y sobreponerla a la original
no se me ocurre nada más ¿alguna idea?

bueno al menos ya se que no funciona, para elementos banderas/blancas si lo he conseguido hacer tintandolas enteras


CitarPD: ¿Demiurgo de evoba?
ahahahahahah!!
Web : Indómita
Blog : MiBlog
Evobas : Evobas
Kobox : Kobox

Hechelion

Cita de: "RobiHm"aaaaaaaaaaaaaaaaaaaaaaa

menuda p***** ahora que he conseguido mover batallones enteros no puedo cambiarles los uniformes, lo único que se me ocurre es tener las animaciones de las unidades en diferentes colores ... o tener una sombra de las partes que quiero pintar en blanco, pintarlas y sobreponerla a la original
no se me ocurre nada más ¿alguna idea?

bueno al menos ya se que no funciona, para elementos banderas/blancas si lo he conseguido hacer tintandolas enteras


CitarPD: ¿Demiurgo de evoba?
ahahahahahah!!

Si son ejercito en miniatura (64x64), mejor tener una cantidad de fichas con todos los monos en distintos colores, por ejemplo puedes tener unas 8 fichas con distintos colores, si juegan 2 personas solo cargas 2. y así.

Creo que deberia ser más rápido cargas distintas frames en la memoria, que trabajar muchas imagenes a nivel de pixel, cambias cantidad de memoria por proceso y siendo honesto, en los PC de hoy sobra memoria para estas cosas, aunque a VB siempre le va a faltar velocidad de proceso.

[EX3]

Parece que despues de unas pruebas de ultima hora en la version en desarrollo he logrado solucionar el problema de las funciones de lectura/escritura de pixeles en la dx_lib32 e incluso mejorado el acceso para lectura/escritura de grandes cantidades de pixeles. Asi que para release final se podra trabajar finalmente con acceso a pixeles (pero no en tiempo real).

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.