Un poco de trasfondo:
BMP: bitmap. Mapa de bits. Este formato guarda una imagen en estado puro. Por ejemplo: tengo una imagen de 10 pixels por 10 pixels. Los numero así: en la fila 1, columna 1, el pixel 1; en la fila 1, columna 2, el pixel 2; en la fila 2, columna 1, el pixel 11; etc. Entonces digo que el pixel 1 tiene color A, el pixel 2 tiene color B, el pixel 23 tiene color A, y así hasta el final. Luego un programa que sepa interpretar eso va a ordenar toda la información que tiene el archivo y va a mostrar una imagen.
JPG: es un formato para comprimir imágenes. Cómo? A costa de la calidad de las mismas. No conozco cómo será el mecanismo pero creo que básicamente agranda el tamaño del pixel. Supongamos que tomo la imagen del ejemplo anterior y agrupo los pixels de a cuatro. Entonces hago alguna cuenta tomando los colores que tienen asociados esos cuatro pixeles y le pongo a los cuatro pixels el color que más se aproxime a los cuatro.
PNG: es un formato para comprimir imágenes sin perder la calidad de las mismas. Y esto cómo es? No tengo idea. Pero es básicamente como tener toda la información de un BMP en menos espacio. Y cuando digo toda me refiero a que sería posible reconstruir la información de un BMP teniendo un PNG. En el caso anterior ésto NO es posible.
Ahora bien, cuando la imagen es una fotografía, JPG produce resultados muy aceptables, verdaderamente indistinguibles de un BMP. Pero cuando se hacen capturas de pantalla, y más precisamente cuando en éstas hay texto, el JPG es la peor mierda que puede existir.
Voy a mostrar ejemplos:
BMP: 277.394 bytes

JPG calidad 100: 62.845 bytes

JPG calidad 70: 27.983 bytes

PNG: 9.270 bytes

Como se puede ver, la diferencia entre BMP y JPG calidad 100 es prácticamente nula, pero ya en JPG calidad 70 se puede ver una pérdida de calidad horrible, y los programas estándar usualmente graban por defecto y sin posibilidad de elegir en mucha menor calidad que eso. PNG por su parte demuele a sus competidores dando un tamaño casi 30 veces menor que BMP, casi 7 veces menor que un JPG calidad 100, y 3 veces menor que JPG calidad 70, manteniendo toda la fidelidad de un BMP.
Los resultados son claros y la premisa también:
BASTA DE MOSTRAR CAPTURAS DE PANTALLA EN JPG. BASTA.
Link recomendado: http://www.irfanview.com/
Gracias.
