« first day (923 days earlier)      last day (2191 days later) » 

12:00 PM
@lois6b De mi cabeza, pues
 
@DavidDPG no te venia la palabra "escribir" mientras escribias XD
 
@DavidDPG xDD
 
@NaCl pensé que pudiera ser un nombre de algun personaje o algo asi
 
Jun 21 '17 at 1:32, by ArtEze
En realidad, la expresión "ah re" existe y se usa en Argentina; creo que se originó hace unos años en la subcultura flogger y más o menos pasó a un uso más general, aunque no sé cuán extendido sea este en la actualidad. Tampoco conozco los pormenores de su significado exacto, pero tengo entendido que se usa como interjección para indicar acuerdo o aprobación, o como mera muletilla. — JMVanPelt Sep 13 '16 at 2:44
 
@ArtEze ah! gracias
 
12:01 PM
@lois6b De nada.
 
@lois6b Claro... A ti no te ha pasado de tener una mano en el picaporte de la puerta de casa, las llaves en la otra, y tirarte un par de segundos pensando que dónde estarán las llaves?
 
@lois6b Para nada, soy fanático de inventar nombres "chidos"
 
@DavidDPG no pero buscar el movil mientras estoy en una llamada, si
 
@lois6b :)
 
@DavidDPG o tirarte un rato buscando las gafas y llevarlas puestas
 
12:03 PM
@blonfu Yo tengo la suerte de no necesitarlas
 
@DavidDPG Te ha pasado que has comprado comida que trae algún envoltorio, tirar la comida y quedarte con el envoltorio?
 
@NaCl Sí...
 
@DavidDPG Lástima total...
 
@DavidDPG y las de sol? yo un dia estaba tomando algo en una terraza y pensando: que mierda de gafas de sol que no me ayudan nada. y no las tenia puestas,las tenia en la cabeza hahaha
 
Me acaban de pasar un excel para que eche un vistazo y tiene 800k filas llenas o_O
 
12:04 PM
@DavidDPG Pues, volviendo al tema, ese es el último código que puse en el repo, pero no he subido otros cambios que tengo pendientes
 
@lois6b xD
@NaCl :D
A ver si voy pillando lo que vayas subiendo
 
@DavidDPG Y faltan dos piezas importantísimas...
@DavidDPG Hahaha
 
@NaCl ?
 
@DavidDPG ¿Cómo pillando lo que voy subiendo?
 
@NaCl Revisando y tratando de comprender lo que vayas subiendo
 
12:08 PM
@DavidDPG Hasta ahora, creo que no es tan difícil de entender ...
Se que soy pésimo escribiendo código :P
 
@NaCl me conformo con un arreglo con los bits de cada secuencia de imágenes del gif
 
@NaCl Ya, pero para el futuro
 
@Paula_plus_plus Dices que tome cada fps y lo arroje en un montón de bytes?
 
si... conceptualmente:

gif g{"archivo"};
auto f = g[0]; // primer fotograma
 
@Paula_plus_plus Me parece interesante, g[0] debería ser un array de bytes o quieres que guarde alguna metadata en específico?
@Trauma Has pensado que estás utilizando los colores que no son? ¿Qué es b? ¿Qué almacena?
 
12:13 PM
Hay una pregunta por ahí que es del madiva challenge
idéntica xD
 
12:25 PM
@NaCl Si lo estuviera haciendo en C++, gif sería un objeto que se constuiría con un nombre de archivo y tendría el operador de indexado (operator []) para acceder a cada fotograma en el formato que correspondiera.
@NaCl b es el blend, es decir cuánto se mezcla el color principal con el fondo.
 
@Paula_plus_plus gif f("nombre.gif");
@Paula_plus_plus ¿Y por qué el 256?
 
@NaCl porque es std::uint8_t... un momento ¿puse 256?
 
@Paula_plus_plus Hahahaha, overflow
 
@NaCl ¿dónde puse 256?
 
@Paula_plus_plus Me referia a @Trauma
 
12:28 PM
@NaCl Ah, vale.
 
@Paula_plus_plus (((fc & 0xFF) * b + (bc & 0xFF) * (256 - b)) >> 8) & 0xFF |//Blue component
Si trabaja con bytes, el valor 256 es inusual
 
@NaCl Es lo menos inusual de la fórmula, está tratando el color r8g8b8 y espera resultados r3g3b2
 
@Paula_plus_plus Hmm...
@Paula_plus_plus Volviendo a esto, el operador [] debería retornar vector<std::uint8_t[]>?
 
buenos días
 
@byte96 Buenas ^^
 
12:31 PM
@NaCl Eso lo vi al poco de empezar a analizar el código, pero eferion y abulafia también se han dado cuenta.
@NaCl un std::vector<std::uint8_t[]> es un disparate xD
 
@Paula_plus_plus Hey, no sé, en C yo daria con todo con uint8_t *
 
@NaCl Dos opciones, devuelve un objeto (a tu elección) que contenga el fotograma en crudo (los bits del mismo) o devuelve un objeto imagen (aún por definir) que contiene el fotograma.
 
Envuelto con algunos datos extra como longitud y donde parte
 
@NaCl std::vector<std::uint8_t[]>sería equivalente en a uint8_t ** no a uint8_t *.
 
@Paula_plus_plus Me equivoqué, era std::vector<std::uint8_t>
Puse los [] al principio
 
12:33 PM
@NaCl Eso está mejor.
 
Y olvidé quitarlo
@Paula_plus_plus a ver que nos sale :)
 
conceptualmente sería chulo que gif f{"archivo"}; color c = f[0][0]; almacenara en c el color del primer píxel del primer fotograma de "archivo".
 
@Paula_plus_plus En ese caso, habría que utilizar una clase como.. gif_image y tambien agregar el operador []
 
@NaCl Así es ¿no es maravilloso? me encanta C++ (ñ_ñ)
 
@Paula_plus_plus ¿Cómo defines tú el main? int main(int argc, char *const *argv) o int main(int argc, char **argv)
Hay mas formas, pero puse esas como ejemplo
@Paula_plus_plus Me da dolor de cabeza xD
 
12:39 PM
@NaCl yo suelo definir main como int main(int argc, char **argv), pero cuando hago ejemplos en ideone o wandbox int main() porque casi nunca necesito parámetros para ejemplos.
También, una de mis primeras líneas de `main` suele ser:

`std::vector<std::string> params(argv + 1, argv + argc);`
 
@Paula_plus_plus Nono, es para crear un punto de entrada para probar distintos gifs
 
@NaCl Ah, lo que quieras, es indiferente xD
Pero si vas a probar un gif animado, que sea este:
 
@NaCl @Paula_plus_plus Es la fórmula original de GitHub, uGui, un código para entornos en producción
El resultado final, como se ve en las imagenes, es bastante bueno
 
@Paula_plus_plus JAJAJAAJ
 
@Trauma Pero te funciona de chiripa, lo normal es que si tratas el color r8g8b8 y lo lees como r3g3b2 te salga un disparate, como has podido ver.
 
12:42 PM
@Trauma Hay alguna forma de ver el resultado de uGui en un terminal?
O en una imagen
 
@Paula_plus_plus no te creas, funciona razonablemente bien. Tambien el display que estoy usando ... tampoco ayuda
Si todo el tema es porque el cliente ha dicho que no lo quiere así
si fuera por mí, lo dejaba
 
@Trauma Me creo que funcione razonablemente bien, pero te aseguro que es de chiripa.
 
@Paula_plus_plus XDDD
hombre, igual el que lo hizo tenía alguna idea de lo que estaba haciendo :-D
 
@Trauma Seguro que si en lugar de una fuente negra usas una fuente púrpura sobre fondo blanco lo que te sale no es púrpura claro.
 
@Paula Definitivamente no me acostumbro a C++.
 
12:45 PM
@Paula_plus_plus Tenemos fuentes blancas sobre verde. Y otras grises sobre blanco. Si por mi fuera, las dejaba tal y como están
Bueno, voy a mirar las respuestas, que acabo de llegar
 
@Trauma tienes unas pocas, y todas van sobre lo que yo ya vi nada más leer tu pregunta xD
 
@NaCl ufff, que va. El UGui es una lib para enlazar en tu código, y nuestro código ya no es fácil de desaclopar para hacer pruebas.
 
@Trauma Me referia al resultado de uGui por separado, si hay alguna forma de convertir el resultado a una imagen bmp o lo que fuere
 
Y encima es sobre framebuffer. ¡ Me ha costado bastante sacar las imágnes !
@NaCl Si, claro. Le tienes que pasar tu una función para pintar de verdad el pixel, tipo setpixel( x, y, color )
basta con usar una función que se adapte a lo que tu quieres
 
Anonymous
Una preguntilla para los veteranos, ¿qué se hace con las preguntas que tienen una respuesta válida es los comentarios?, ¿se dejan abiertas pese a estar solucionadas?
 
12:48 PM
@AsieR_2 Al que respondió, que haga una respuesta formal, detallada y que la acepten (?
@Trauma Es que como no tengo display ni nada a la mano (Gracias vacaciones) quería probar a ver si me sale :^)
 
@NaCl jeje ... vente p'a Málaga, que aquí tengo yo un cacharro y te entretienes con él :-p
 
@Trauma Paso, el lenguaje está en proceso de construcción y @Paula me ha pegado un vicio de tratar con gifs
 
@Paula_plus_plus Esta es la última versión del código que usé:
if( !b ) {
// 0 -> color del fondo.
color = bc;
} else if( b == 0xFF ) {
// 255 -> color de la tinta.
color = fc;
} else {
// Mezcla de colores.
UG_U8 oneminus = ( 256 - b ) & 0xFF;

UG_U8 nr = ( fc & 0xE0 >> 5 ) & b; // Rojo.
UG_U8 ng = ( fc & 0x1C >> 2 ) & b; // Verde.
UG_U8 nb = ( fc & 3 ) & b; // Azul.

nr += ( oneminus & bc );
ng += ( oneminus & bc );
nb += ( oneminus & bc );

color = ( ( nr & 0x07 ) << 5 );
color |= ( ( ng & 0x07 ) << 2 );
color |= ( ( nb & 0x03 ) );
} */
tomada de uno de los enlaces que me pasaste el otro dia sobre las fuentes
con adaptación libre, claro está
ese no llegué a verlo en pantalla, pero el compi me dijo que se veía fatal :-(
 
acabo de petar la app en ionic que estaba haciendo
tengo unas gans de entre llorar, matar a alguien, tirar el pc por la ventana...
 
@PabloSimonDiEstefano Si haces la tercera posiblemente consigas la segunda y después la primera
 
1:01 PM
@blonfu no lloraria por haber matado a alguien por tirar el pc por la ventana, que hubiese pasado por otro sitio
 
@Trauma Piensa que estás usando r3g3b2, lo que quiere decir que tienes 8 niveles de rojo, 8 niveles de verde y 4 de azul, los colores no darán para mucho y la resolución del azul es la mitad que el resto.
 
@Paula_plus_plus ya ya, si lo se
y además, me parece que el display exagera el contraste si los puntos están muy juntos
 
@Trauma Pues poco más hay que decir, creo que el algoritmo de alpha blend es correcto, pero estabas tratando peras (r8g8b8) como si fuesen mitocondrios (r3g3b2).
 
@Paula_plus_plus yo no, es el código original
estoy añadiendo algunas cosas, a petición de @abulafia
 
@Trauma No, no: TÚ. El código original es para r8g8b8 pero tú no transformaste el código original para r3g3b2.
 
1:11 PM
@Paula_plus_plus nope. El código original es para r3g3b2
de hecho, solo soporta 1bpp y 8bpp
monocromo, o 256 colores
 
@Trauma Imposible (Ö_Ö)
 
@Paula_plus_plus jeje ... seguro
 
@Paula Voy a ver si hago lo de los gif en un rato, te dejo saber mis experiencias :P
 
@Paula_plus_plus
if (font->font_type == FONT_TYPE_1BPP)
{
ese es el que no usamos
 else if (font->font_type == FONT_TYPE_8BPP)
  {
 
@Trauma No me lo puedo creer.
 
1:14 PM
ese es el que si usamos
solo hay 1 .cpp
 
@Trauma Pero a ver... yo digo el código que desplaza 8 bits en cada componente, eso es imposible que sea r3g3b2 por mucho que un enumerado diga misa.
 
@Paula_plus_plus hija, pues que quieres que te diga
 
@Trauma Quiero que me digas: ¿cuántos bits desplazas el componente rojo al hacer rojo << 8 y cuántos bits desplazas el componente rojo al hacer rojo << 5?
 
@PabloSimonDiEstefano aun así, dos de tres no está mal
 
8 y 5
sisi, se contar
8 lo sacas del byte
pero así está puesto
y funciona
 
1:17 PM
@Trauma pues ahí lo tienes... es imposible que desplazando el rojo 8 bits sea un r2g3b2.
 
yesterday, by Lombarda Arda
yesterday, by Lombarda Arda
24 hours ago, by Lombarda Arda
May 3 at 13:08, by Lombarda Arda
Apr 23 at 13:17, by Lombarda Arda
En #haiku:
De comel vuelvo
Ahora a trabajal
para comel mas
 
@Paula_plus_plus killa, mira el ugui.cpp, línea 1062 (aprox., en el mio he quitado fuentes embebedias)
bueno, voy a ir probando las respuestas, a ver que pasa O_O
 
@Trauma ugui.cpp no existe github.com/achimdoebler/UGUI
(Î_Î)
 
@Paula_plus_plus XDDDDD
ugui.c
que el compi que lo metió al repo le ha cambiado la extensión O_o
cosas de los madrileños estos
 
1:22 PM
@Trauma la línea 1062 es {0x0C,0x00,0x3E,0x02,0x1E,0x02,0x3E,0x00}, // 0xD4 y decenas de líneas antes o después son parecidas (Î__________________Î)
 
@Paula_plus_plus te he dicho que aprox. Yo he quitado esas fuentes, que uso otras
busca color = (((
 
@Trauma Ya lo encontré
 
@Paula_plus_plus pues ala, diviértete :-D
 
Y... son OCHO bytes por píxel no UN byte por píxel.
 
@Paula_plus_plus tu estás seguro de eso ? ¿ no será 8 bits per pixel ?
lo digo porqué FONT_TYPE_1BPP son las fuentes monocromo
 
1:25 PM
@blonfu eso si, no es mala proporcion
 
O sea que son 24 bits por cada componente, r8b8g8 (3 x 8 = 24, o sea 8BPP) y tú lo estás usando para r3g3b2 (3+3+2 = 8, o sea 1BPP).
 
@Paula_plus_plus valla película que te estás montando tu sola
si eso fuera así, mis cambios no habrian tenido ningun efecto
porque los estaria haciendo en el if( ) else equivocado
 
@Trauma vaya, baya, valla... vamos a ver, ¿cuántos bytes tiene 0xFF0000?
 
Pillo palomitas
 
@Paula_plus_plus 3
 
1:27 PM
@NaCl ¿Y cuántos bits?
 
@Paula_plus_plus killo, relee la pregunta, al final. He añadido como se obtiene b
 
24?
 
y como se pinta un pixel
 
@Paula_plus_plus 24
 
@Trauma voy.
 
1:28 PM
y, si quereis mas, buscais ttf2ugui, que saca las fuentes
 
> Para pintar un pixel en la pantalla, se usa un unsigned char:
 
1bpp -> monocromo. 8bpp -> 256 colores
@Paula_plus_plus cierto
 
@Pikoh ¿Cuántos bits tiene un unsigned char?
 
@Trauma 0x0100?
 
@Paula_plus_plus 8
 
1:29 PM
@Trauma Bien. Si yo le hago esta máscara a un valor de 8 bits (sea cual sea) ¿qué obtendré?: 0xFF0000 & valor_8_bits.
 
bueno, vusotros sus lo vais estudiando, que yo ahora vuelvo
@Paula_plus_plus 0
 
El 24 de Octubre.
 
ahora vuelvo
 
@Trauma Correcto. Porque esa máscara es para colores de 24 bits, porque esa máscara es para colores de 8 bits por componente, es decir r8g8b8, o sea 8 bits por píxel, es decir 8bpp.
 
@Paula_plus_plus killo, que ahora vuelvo
 
1:31 PM
@Trauma Te creo.
 
@Paula_plus_plus no lo he estudiado a fondo,pero creo que tienes razón. El color segun @Trauma es de 8 bits, pero la mascara que se le está aplicando es de 24
por ejemplo,para sacar el componente R de un color en 8 bits, la mascara sería E0 (si mis calculos son correctos)
 
@Paula_plus_plus No solo eso... hace | a los 3 valores, pero al final no hace los shifts a sus respectivos colores en el pixel, o eso entiendo
Es más facil tratar los masks cuando los conviertes a un byte directamente
 
1C para el componente G,3 para el componente B
 
(((fc & 0xFF) * b + (bc & 0xFF) * (256 - b)) >> 8) & 0xFF |
(((fc & 0xFF00) * b + (bc & 0xFF00) * (256 - b)) >> 8)  & 0xFF00 |
(((fc & 0xFF0000) * b + (bc & 0xFF0000) * (256 - b)) >> 8) & 0xFF0000;
 
bueno, sus aclarais o no ?
tenga los bits que tenga,
 
1:39 PM
Está claro yo creo
 
al final yo solo pinto los últimos 8
 
En todas las operaciones de pintar texto, el valor de fc y bc está limitado a 8 bits:

const UG_COLOR BLACK = 0X00;
const UG_COLOR GRAY = 0x92;
const UG_COLOR SEMI_WHITE = 0xDB;
const UG_COLOR WHITE = 0XFF;
const UG_COLOR GREEN = 0X1C;
const UG_COLOR ORANGE = 0XF0;
esto no son 8 bits,son 16
 
@Trauma Es probable que solo quede en 0x0000FF y solo andes escribiendo los ultimos 8 bits
 
@Pikoh ¿¿ perdona ??
 
@Trauma perdona,se me fue
XD
son 8 si
 
1:40 PM
@Pikoh ahora yo grab popcorn xD
 
@Pikoh O_o acabas de ganarte un -1 ... espera que busque una respuesta tuya, hombre !!
xD
 
@lois6b despues de comer la sangre no llega bien al cerebro hombre
 
@Pikoh está ocupada digiriendo
 
de todas maneras,si miramos esto:
(((fc & 0xFF0000) * b + (bc & 0xFF0000) * (256 - b)) >> 8) & 0xFF0000; /
 
@Trauma No tienes que escribir en todo el pixel?
 
1:41 PM
@NaCl ¿ mande ?
¿ como voy a escribir medio pixel ?
 
si fc es de 8 bits, como le haces un AND con ' 0xFF0000'?
 
@Pikoh killo, ni idea. ¿ La pregunta que he formulado, que creeis, que tiene trampa o algo ?
lo he publicado porque no tengo ni idea de como lo hace
 
@Trauma no hombre. Lo que decimos es que eso esta mal fijo
 
Modulación engloba el conjunto de técnicas que se usan para transportar información sobre una onda portadora, típicamente una onda sinusoidal. Estas técnicas permiten un mejor aprovechamiento del canal de comunicación lo que posibilita transmitir más información de forma simultánea además de mejorar la resistencia contra posibles ruidos e interferencias. Según la American National Standard for Telecommunications, la modulación es el proceso, o el resultado del proceso, de variar una característica de una onda portadora de acuerdo con una señal que transporta información. El propósito de la modulación…
 
@Pikoh pues funciona bastante bien :-)
Ya te digo que, si por mi fuera, dejaba el código original
 
1:43 PM
si tu tienes un color en el que los 3 primeros bits son el componente rojo, para separarlo la mascara debe ser 11100000, o sea 0xE0
 
pero el cliente ha dicho que no :-(
@Pikoh correcto
 
@Trauma has probado con fondo y tinta de color o solo con blanco y negro?
pues si esto esta claro, esto no puede estar bien ->
(((fc & 0xFF0000) * b + (bc & 0xFF0000) * (256 - b)) >> 8) & 0xFF0000; /
 
@Pikoh hay por lo menos otras 2 combinaciones: tinta blanca, fondo negro, y tinga gris con fondo blanco
@Pikoh xDDDD
pues ale, publica una respuesta :-)
 
@Trauma vale,pero nunca con colores. Sospecho que por eso mas o menos te funciona
@Trauma no veo la gracia,pero bueno...
 
@Pikoh pues no lo se, la verdad. Se ve razonablemente bien con todo, solo esos puntitos de colorines desparruados
@Pikoh porque eres ya el 5 o 6 que dice lo mismo
 
1:46 PM
@Trauma pues por algo será :)
hala,voy a trabajar un poco
 
y yo sigo diciendo que el código original, como sea y por la gracia que sea, funciona razonablemente bien
 
@Trauma puedes probar con una combinacion de colores?
 
y yo voy a probar las respuestas
 
@Trauma ¿Donde está ese código?
 
1:48 PM
@Trauma Linea en especifico?
Toma mil para cargar :(
 
@NaCl no lo se, el que yo tengo es distinto, he quitado las fuentes que trae embebidas en el código
busca color = (((
con vuestro permiso, me dispongo a probar las respuestas :-)
 
@Trauma lo mismo que te dice @Pikoh te lo dicen todos los que han respondido.
 
@Paula_plus_plus Entonces ... ¿ abro una issue en uGui ?
 
@Paula_plus_plus Ya me lo he releido :P
 
1:57 PM
todavía me faltan 10 datos que encontrar , esto es un horror...
T_T no los encuentro
 
@Aritzbn Dale, atrapalos ya!
 
yo creo que en caso de color de 8bpp, los 8 bits menos significativos de Color (fc) deben asignarse a un char, y ahi efectuar las operaciones con las mascaras correctamente. Pero yo no se de c++ y acabo de comer,asi que mejor sigo a lo mio :)
 
@Trauma Te estoy diciendo que µGUI está bien, lo que está mal es que lo has malinterpretado. FONT_TYPE_8BPP es 8 bits por cada color, es decir r8g8b8, lo cuál coincide completamente con las máscaras que está usando (0xFF para azul, 0xFF00 para verde y 0xFF0000 para rojo).
 
@Paula_plus_plus Ok. Cambio el título y listo. Siguen saliendo puntos de colores donde no deben.
 
@Paula_plus_plus Eso es un pixel, 6 bytes
 
1:59 PM
@Paula_plus_plus en ese caso está mal el codigo, pq 8bpp son 8 bits per pixel,256 colores, 1 byte
 

« first day (923 days earlier)      last day (2191 days later) »