Muchas aplicaciones Java no usan fuentes antialias de forma predeterminada, a pesar de la capacidad de Swing de proporcionarlas. ¿Cómo se puede forzar una aplicación java arbitraria para usar fuentes AA? (Tanto para las aplicaciones que estoy corriendo, y las aplicaciones que estoy desarrollando)¿Cómo se habilita el anti aliasing en aplicaciones Java arbitrarias?
Respuesta
Si usted tiene acceso al código fuente, se puede hacer esto en el método principal:
// enable anti-aliased text:
System.setProperty("awt.useSystemAAFontSettings","on");
System.setProperty("swing.aatext", "true");
o, (y si no tienen acceso a la fuente, o si esto es más fácil) puede simplemente pasar por encima de las propiedades del sistema en la JVM mediante la adición de estas opciones para la línea de comandos:
-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
gracias por la información. Me preguntaba sobre esto yo mismo. Uso SoapUI (www.eviware.com) y NO, por defecto, usa texto AA. Agregué -Dawt.useSystemAAFontSettings = on -Dswing.aatext = true al archivo de proceso por lotes que lo lanza, PERO eso NO hizo la diferencia. Adivina, tengo que preguntar en su foro.
puede interpretar los argumentos como pertenecientes a la aplicación en lugar de jvm; puede que necesite profundizar un poco más en el archivo bat. (o puede no funcionar para todas las aplicaciones ... en caso afirmativo, avísenme/vote mi respuesta ...) – rcreswick
Pude hacer que esto funcionara editando el archivo de inicio .sh para que la última línea sea leída: java -Dawt.useSystemAAFontSettings = on -Dswing.aatext = true -Dsoapui.properties = soapui.properties -Dgroovy.source.encoding = iso-8859-1 -cp $ SOAPUI_CLASSPATH com.eviware.soapui.SoapUIPro $ * – rcreswick
Te creo podría hacer lo mismo con el archivo soapui bat agregando el -D ....params enumerados aquí en la línea JAVA_OPTS, o simplemente especificando JAVA_OPTS = -Dawt.useSystemAAFontSettings = on -Dswing.aatext = true en el entorno circundante – rcreswick
Para el registro, he descubierto que en mis ventanas 7 máquina,
- Si yo no uso esto en mi código, tengo la buena prestación de ClearType de subpíxeles.
- Pero si uso esto, obtengo el clásico antialiasing en blanco y negro que es mucho más feo.
Por lo tanto, este código debe usarse con cuidado. Supongo que dejará de ser necesario cuando todos los usuarios de Linux se hayan actualizado a las versiones de OpenJDK que manejan correctamente los alias por defecto.
Los controles de desplazamiento en las últimas versiones de Java 6/7 deben cumplir automáticamente con las preferencias de todo el sistema. (Si está usando Windows L & F en un sistema operativo Windows, entonces el texto debería mostrarse usando ClearType si tiene esa configuración habilitada para todo el sistema.) Entonces, quizás una solución simplemente podría ser: ¿habilitar el aspecto y la sensación nativas?
En las aplicaciones que está en desarrollo, si se renderiza su propio texto directamente, también tiene que hacer algo como esto (en algún momento antes de llamar Graphics.drawText
o amigos):
if (desktopHints == null) {
Toolkit tk = Toolkit.getDefaultToolkit();
desktopHints = (Map) (tk.getDesktopProperty("awt.font.desktophints"));
}
if (desktopHints != null) {
g2d.addRenderingHints(desktopHints);
}
Referencia: http://weblogs.java.net/blog/chet/archive/2007/01/font_hints_for.html
- 1. ¿Cómo se habilita el suavizado en Qlabel?
- 2. Anti-aliasing en OpenGL
- 3. Java Slick scale Imagen sin anti-aliasing
- 4. HTML5 Canvas y Anti-aliasing
- 5. CSS: @ font-face anti aliasing
- 6. Anti-aliasing de impresión Silverlight
- 7. Anti-aliasing raro en la vista personalizada
- 8. qplot y anti-aliasing en I
- 9. Firefox no anti-aliasing escala fondo svg
- 10. Función anti-aliasing simple para Delphi 7
- 11. Prevenir el anti-aliasing para imshow en matplotlib
- 12. OpenGL ES iPhone - el trazado de líneas anti-aliasing
- 13. Anti-aliasing en gráficos R en Windows (como por Mac)
- 14. Cómo rotar un dibujable con anti-aliasing habilitado
- 15. Pobre anti-aliasing de texto dibujado en lienzo
- 16. Forzar anti-aliasing usando css: ¿Es esto un mito?
- 17. Mejor anti-aliasing en iPad cuando se utiliza la posición: fijo, ¿por qué?
- 18. Habilite el anti-aliasing de la vista de código en el código X
- 19. Librerías java Anti-XSS
- 20. ¿Es posible desactivar el anti-aliasing en CSS cuando se usa @ font-face con fuentes de píxeles?
- 21. Deshabilitar las fuentes anti-aliasing en Xcode 4.4 en Mountain Lion
- 22. La pérdida de anti-aliasing cuando se comparten entre el objeto Graphics código administrado y no administrado
- 23. ¿Cómo habilita JMX en Websphere?
- 24. Escriba aliasing Clases de Java con statics
- 25. ¿Tiene CSS compatibilidad con anti-aliasing de texto, como "nítido, nítido, etc."?
- 26. puntero eliminación de referencias hace romper estrictas normas anti-aliasing usando sockets Berkeley
- 27. Llamar a `getDrawingCache` devuelve nulo cuando se habilita el desplazamiento
- 28. Parece que FileStream no se habilita
- 29. ¿Cómo habilita ARC en todo el proyecto en Xcode 4.2
- 30. ¿Cómo habilita el desplazamiento horizontal completo en Mapkit?
+1 Todos los días aprendo algo nuevo. ¡Gracias! – Rekin
este método no funciona para el aspecto y la sensación de Sustancia, ¿tiene alguna idea al respecto? –
Esto no funciona para 'Graphics # paintString (String, int, int)' – Supuhstar