Leer paleta de un BMP

Soporte técnico sobre los lanzamientos de MojonTwins y comentarios sobre los güegos. Ofrecemos soporte técnico con Fourspriter, te ayudamos con ZX Basic o Z88DK, te damos pistas some cómo saltarse un bicho y cosas así.

Moderador: na_th_an

Avatar de Usuario
na_th_an
Mensajes: 26411
Registrado: Vie, 09 Ene 2009, 12:18

Re: Leer paleta de un BMP

Mensajepor na_th_an » Lun, 26 Ene 2015, 08:31

Es que nicepal sólo genera esa paleta, no hace nada más. Mira bien mi post. Cada utilidad hace una cosa.

gennice.exe sólo saca un PNG con esa paleta fija (nicepal.png), que la necesitaba para hacer mis pruebas. Carece de utilidad.
genpal.exe coge una cadena hexadecimal con los colores que has elegido de la ULA+ y te genera un PNG con esos colores, tal y como los calcula el conversor. Esto es única y exclusivamente para que puedas usar esos colores para dibujar los gráficos y que luego no haya problemas de conversión.
radspr.exe es el conversor que te convertirá tus sprites al formato que sea usando la paleta en hex que le especifiques.

Lo mejor para usar esto es

1.- Hacer la paleta ULA+ y obtener los valores en hexadecimal. Pegarlos todos en un chorizo de 32 caracteres. Vaya, sería como coger los valores que me pusiste tú para el ejemplo y pasarlos a hex.
2.- Usar genpal.exe para obtener un png con los colores de esa paleta en hex.
3.- Usar ese png para coger los colores y dibujar tus gráficos en un set. Grabar como png de altura/anchura múltiplos de 8.
4.- Usar radspr.exe para obtener los sprites de tu png, especificando la paleta en hex.

Sobre los colores, ya te digo que lo que hago es multiplicar, simplemente. Por lo que nunca se llega al máximo, por las razones explicadas. No sé qué algoritmo se aplicará realmente para llevar al máximo el valor máximo tras la multiplicación. Si hay otra forma, decidmela y se la podemos poner al conversor.

Como ya te dije, si tú me dices que tienes 3 bits para "R", eso significa que los valores pueden ser 0-7. Para convertir yo eso a RGB y poder usarlo en los png y eso, tengo que multiplicar para obtener un valor de 8 bits, o sea, tengo que multiplicar por 32. El problema de esto es que el mayor valor posible es 11100000, y por tanto la intensidad más clara no queda "la más clara". Supongo que el hard usa otra forma para escalar, o no, o hay una corrección, o ni idea. No lo sé.
Como diría Rorshach: "Urm..."
Avatar de Usuario
Metalbrain
Mensajes: 9
Registrado: Mié, 21 May 2014, 21:19

Re: Leer paleta de un BMP

Mensajepor Metalbrain » Lun, 26 Ene 2015, 10:29

na_th_an escribió:Como ya te dije, si tú me dices que tienes 3 bits para "R", eso significa que los valores pueden ser 0-7. Para convertir yo eso a RGB y poder usarlo en los png y eso, tengo que multiplicar para obtener un valor de 8 bits, o sea, tengo que multiplicar por 32.


¿Y por que no por 36?
255/7 = 36.42
Avatar de Usuario
na_th_an
Mensajes: 26411
Registrado: Vie, 09 Ene 2009, 12:18

Re: Leer paleta de un BMP

Mensajepor na_th_an » Lun, 26 Ene 2015, 10:32

Por lo que me digáis que multiplique. Lo que no voy a hacer es adivinarlo :D no he diseñado yo el modo este ni cómo usa las paletas.
Como diría Rorshach: "Urm..."
Avatar de Usuario
iforeve
Mensajes: 731
Registrado: Vie, 09 Ene 2009, 19:49

Re: Leer paleta de un BMP

Mensajepor iforeve » Lun, 26 Ene 2015, 11:10

na_th_an escribió:Por lo que me digáis que multiplique. Lo que no voy a hacer es adivinarlo :D no he diseñado yo el modo este ni cómo usa las paletas.


Las paletas se usan en la playa. Lo sabe tor mundo :lol: :lol:
Avatar de Usuario
na_th_an
Mensajes: 26411
Registrado: Vie, 09 Ene 2009, 12:18

Re: Leer paleta de un BMP

Mensajepor na_th_an » Lun, 26 Ene 2015, 13:01

Aquí están las versiones con la nueva escala aplicada. En vez de hacer shift left el número de veces que sea necesario (5 para R y G, 6 para B) se multiplica por una escala de 255/7 para R y G y 255 / 3 para B, ya que 7 es el valor máximo de R y G y 3 el de B en las paletas de ULA+, tal y como ha propuesto Metalbrain.

Supongo que servirán mejor. Los programas se llaman igual pero tienen un "ad" de "adjusted" al final:

gennicead.exe sólo saca un PNG con esa paleta fija (nicepal.png), que la necesitaba para hacer mis pruebas. Carece de utilidad.
genpalad.exe coge una cadena hexadecimal con los colores que has elegido de la ULA+ y te genera un PNG con esos colores, tal y como los calcula el conversor. Esto es única y exclusivamente para que puedas usar esos colores para dibujar los gráficos y que luego no haya problemas de conversión.
radsprad.exe es el conversor que te convertirá tus sprites al formato que sea usando la paleta en hex que le especifiques.

Como dije, radspr/radsprad son capaces de convertir cualquier imagen con cualquier número de colores, sean de la paleta de ULA+ o no, haciendo aproximaciones lineales - pero siempre se obtienen mejores resultados si se usan los colores correctos. Por eso es buena idea empezar eligiendo los colores ULA+, generando el png con la paleta con genpal/genpalad y luego dibujando con esos colores.
Como diría Rorshach: "Urm..."
Avatar de Usuario
nacho
Mensajes: 4891
Registrado: Vie, 09 Ene 2009, 13:01

Re: Leer paleta de un BMP

Mensajepor nacho » Lun, 26 Ene 2015, 13:45

iforeve escribió:
na_th_an escribió:Por lo que me digáis que multiplique. Lo que no voy a hacer es adivinarlo :D no he diseñado yo el modo este ni cómo usa las paletas.


Las paletas se usan en la playa. Lo sabe tor mundo :lol: :lol:


:lol: :lol: :lol:

Yo siempre he sido más de paletilla, ibérica a ser posible :lol:
Die Mutter gebar Sie
Avatar de Usuario
iforeve
Mensajes: 731
Registrado: Vie, 09 Ene 2009, 19:49

Re: Leer paleta de un BMP

Mensajepor iforeve » Lun, 26 Ene 2015, 14:15

nacho escribió:
iforeve escribió:
na_th_an escribió:Por lo que me digáis que multiplique. Lo que no voy a hacer es adivinarlo :D no he diseñado yo el modo este ni cómo usa las paletas.


Las paletas se usan en la playa. Lo sabe tor mundo :lol: :lol:


:lol: :lol: :lol:

Yo siempre he sido más de paletilla, ibérica a ser posible :lol:


JUAS!!!
Avatar de Usuario
na_th_an
Mensajes: 26411
Registrado: Vie, 09 Ene 2009, 12:18

Re: Leer paleta de un BMP

Mensajepor na_th_an » Lun, 26 Ene 2015, 14:20

He modificado un poco radspr/radsprad para que generen etiquetas antes de cada sprite, que puede venir muy bien.
Adjuntos
radasmode.rar
(404.39 KiB) Descargado 152 veces
Como diría Rorshach: "Urm..."
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Re: Leer paleta de un BMP

Mensajepor radastan » Lun, 26 Ene 2015, 19:06

Asias.
Avatar de Usuario
radastan
Mensajes: 692
Registrado: Vie, 20 Ago 2010, 12:54
Contactar:

Re: Leer paleta de un BMP

Mensajepor radastan » Jue, 19 Nov 2015, 12:01

Buenas,

Ahora que he podido poner orden en mi vida he sacado nueva versión del kit Z88DK para ZX Uno. Voy a sacar una tercera versión con las herramientas de Na_Th_An incluyendo un tuto de uso.

Gracias por la paciencia, sobre todo a Na_Th_An.

Volver a “Ayuda”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados