Pregunta

He seleccionado un mapa de bits en un 8bpp CDC, y se utiliza :: TextOut () para dibujar texto. La calidad de la fuente es ANTIALIASED_QUALITY, pero el texto sale en blanco y negro; No hay píxeles y bordes dentados gris.

El mapa de bits 8bpp fue extraído de un mapa de bits 24bpp que el texto ya había antialiased dibujado en él, y que el texto está bien. (Ambos tipos de texto están en el mismo mapa de bits.)

Por supuesto que podría basarse en 24bpp y convertir, pero esto es más complejo y lento. (El texto más adelante cambia, y se repite muchas veces.) ¿Es posible obtener el texto antialiased directamente en un mapa de bits 8bpp? Gracias!

¿Fue útil?

Solución

No, anti-aliasing no funciona con 8 bpp. Si necesita más rápido actualizaciones, considere hacer su dibujo con algo como OpenGL en lugar de a través de GDI. Con OpenGL, el dibujo normalmente se llevará a cabo en su totalidad por el hardware de gráficos, por lo que incluso a los 32 bpp, el dibujo será generalmente más rápido que GDI haciendo de 8 bpp.

Es también digno de mención que probablemente estaría mejor con 32 bpp de 8 o de 24 bpp en cualquier caso. GDI puede utilizar (algunos) la aceleración de hardware, pero por lo general es en su mejor momento con 32 bpp.

Otros consejos

No, GDI no hace filtros antialiasing salida a un mapa de bits con paleta, y eso es exactamente lo que un mapa de bits de escala de grises es.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top