Con el propósito de pruebas de regresión automatizadas, estoy capturando algunas capturas de pantalla de un lienzo GDI dentro de nuestra aplicación y las comparo con las capturas de pantalla tomadas de nuevas compilaciones. La comparación de imágenes tiene que ser perfecta para que la prueba pase. Esto funciona bien en mi máquina y en la máquina de un colega (tanto Windows 7) pero si comparamos las imágenes tomadas en una máquina con las de otra, la comparación siempre falla. La diferencia muestra algunas diferencias menores en la representación de fuentes GDI. Me gustaría saber qué factores podrían afectar la representación de la fuente que causan esta diferencia en la apariencia y me estoy quedando sin ideas.
- Tenemos las mismas fuentes instaladas hasta donde sabemos.
- El tamaño de fuente está configurado al 100% en ambas máquinas
- Estamos corriendo en la misma resolución de pantalla
- Sospeché que la configuración de ClearType y, de hecho, verificaba el registro HKCU \ Software \ Microsoft \ Avalon.Graphics \ DISPLAY1 apareció con algunas teclas configuradas para el nivel, el contraste y el contraste de texto en mi máquina y estas teclas faltaban para mi colega. Pero eliminé las claves de mi registro y después de un reinicio todavía no producimos imágenes coincidentes. ¿Hay otra forma de exportar configuraciones de tipo claro?
- También probé efectos visuales / bordes suaves de las fuentes de pantalla en vano
¿Hay alguna otra configuración que pueda hacer que la representación de la fuente sea diferente? ¿O hay paquetes de servicio, en particular que podrían afectarlo?
Respuestas:
Como se sospecha, ClearType fue el culpable. Fue ajustado de manera diferente en ambos sistemas. Encontré otro grupo de claves de registro aparte de las enumeradas en HKCU \ Software \ Microsoft \ Avalon.Graphics \ DISPLAY1 que almacenan la configuración ClearType. Se encuentran en HKCU \ Control Panel \ Desktop y se llaman:
Resulta que FontSmoothingGamma se configuró con diferentes valores en nuestras máquinas (1000 para mí, 0 para mi colega). Después de configurarlo en 0 y reiniciar, la representación de fuentes en nuestras máquinas ahora es idéntica.
fuente