Coonvertir paleta RGB a ULAPLUS
Re: Coonvertir paleta RGB a ULAPLUS
Probaré conversión por tabla, así delimito por rangos cada color (un coñazo, una tabla de 256 rangos, pero es lo que hay). Lo de reducir a 16 colores es muy fácil, simplemente hay que anotar para cada color cuantos píxels lo usan y quedarte con los 16 que más hay, igualando el color al más cercano del resto.
Re: Coonvertir paleta RGB a ULAPLUS
Y cómo se haría eso? No encuentro tutoriali en youtubi.
Oss-tiopic: el radastaniac mode podría ser útil para hacer juegos anaglíficos con gafapasta 3D
Oss-tiopic: el radastaniac mode podría ser útil para hacer juegos anaglíficos con gafapasta 3D
Re: Coonvertir paleta RGB a ULAPLUS
Teóricamente cierto, pero en la práctica los ojos azules de alguien podrían acabar siendo rosas porque es el color más cercano y el azul apenas se usa porque solo está en los ojosRadastan escribió:Probaré conversión por tabla, así delimito por rangos cada color (un coñazo, una tabla de 256 rangos, pero es lo que hay). Lo de reducir a 16 colores es muy fácil, simplemente hay que anotar para cada color cuantos píxels lo usan y quedarte con los 16 que más hay, igualando el color al más cercano del resto.
Es un ejemplo, no me digáis ahora que seguro que hay un color más cercano al azul que el rosa
Re: Coonvertir paleta RGB a ULAPLUS
Este software nos lo tiene que enseñar Radastan porque promete. Lo ideal seria un colorpicker como el de Xpal que te mostrase una gama de colores ulaplusianos próximos a cualquier color rgb capturado al vuelo.
Re: Coonvertir paleta RGB a ULAPLUS
Arreglado!
He cambiado r1, g1, y b1, a double.
Me he creado r2, g2, y b2, en integer para pasar los valores resultantes con redondeo (int).
A partir de un string con valores RGB con esto se coloca perfectamente unos sliders a sus valores equivalentes de ULAPLUS.
El problema estaba en que hacía dos conversiones distintas al seleccionar y modificar el color en cada cuadro, al pasarlo por los sliders he unificado el cambio en un único sitio y he dado con el error.
Para convertir los valores de los sliders al byte de paleta ULAPLUS:
¡Ya soy capaz de leer paletas PSP (Paint Shop Pro)!
Ahora el proceso inverso y la herramienta de edición de paletas estará terminada. El conversor ya es más fácil con lo aprendido.
He cambiado r1, g1, y b1, a double.
Me he creado r2, g2, y b2, en integer para pasar los valores resultantes con redondeo (int).
Código: Seleccionar todo
s = linea.split(" ");
r1 = (Integer.parseInt(s[0]) / 36);
g1 = (Integer.parseInt(s[1]) / 36);
b1 = (Integer.parseInt(s[2]) / 85);
r2 = (int) r1;
g2 = (int) g1;
b2 = (int) b1;
jSlider1.setValue(r2);
jSlider2.setValue(g2);
jSlider3.setValue(b2);
El problema estaba en que hacía dos conversiones distintas al seleccionar y modificar el color en cada cuadro, al pasarlo por los sliders he unificado el cambio en un único sitio y he dado con el error.
Para convertir los valores de los sliders al byte de paleta ULAPLUS:
Código: Seleccionar todo
int red = jSlider1.getValue();
int green = jSlider2.getValue();
int blue = jSlider3.getValue();
int color_valor = (red << 2) | (green << 5) | blue;
Ahora el proceso inverso y la herramienta de edición de paletas estará terminada. El conversor ya es más fácil con lo aprendido.
- chernandezba
- Mensajes: 841
- Registrado: 02 Oct 2015, 23:35
Re: Coonvertir paleta RGB a ULAPLUS
Recordad que el valor azul, que es de sólo 2 bits, sigue la fórmula (según el mismo Andrew Owen):
"
The missing lowest blue bit is set to OR of the other two blue bits (Bb becomes 000 for 00, and Bb1 for anything else)
"
"
The missing lowest blue bit is set to OR of the other two blue bits (Bb becomes 000 for 00, and Bb1 for anything else)
"
Re: Coonvertir paleta RGB a ULAPLUS
Ya lo sé.
- chernandezba
- Mensajes: 841
- Registrado: 02 Oct 2015, 23:35
Re: Coonvertir paleta RGB a ULAPLUS
Radastan escribió:Ya lo sé.