Precisión de JavaFX Screen.getDPI() en código compilado AOT para iOS
Screen.getDPI() está devolviendo valores correctos en macOS en múltiples monitores y en la pantalla incorporada, tanto al ejecutarse en el JVM como al ser compilado con AOT utilizando mvn gluonfx:build, etc.
Una vez que la aplicación se ha creado para iOS e instalado, el valor devuelto por getDPI() en un iPad Pro es el mismo que la altura nativa de la pantalla, es decir, 1668, en lugar de los 264 esperados. Esto sucede con macOS 10.15, iOS 15.2, javafx 17.0.1, el complemento gluonfx 1.0.11-SNAPSHOT que utiliza una versión modificada de sustrato para firmar el código con Xcode 12.
He utilizado un enfoque similar con cierto éxito teniendo en cuenta las idiosincrasias del sistema operativo en AWT/Swing para ajustar con precisión los tamaños de papel en pantalla y brindar una experiencia WYSIWYG real. Al portar esta aplicación a JavaFX/glisten, ¿debo esperar que este enfoque no funcione con iOS y GraalVM, etc., o podría ser un error que debería informar?
davy.ai
Problema de
getDPI()
en iOS con macOS y el plugin gluonfxParece que hay una discrepancia entre el valor DPI devuelto por el método
getDPI()
en JavaFX en macOS y iOS. Mientras que el método devuelve valores correctos al ejecutarse en macOS con varios monitores y la pantalla incorporada, lo mismo no puede decirse del iPad Pro.Después de construir la aplicación para iOS utilizando el plugin gluonfx, el método
getDPI()
devuelve la altura nativa de la pantalla (1668) en lugar del valor esperado (264). Esto ocurre con macOS 10.15, iOS 15.2, javafx 17.0.1 y el plugin gluonfx 1.0.11-SNAPSHOT, que utiliza una versión modificada de sustrato para la firma de código utilizando Xcode 12.Como experto en TI especializado en iOS, JavaFX y gluon-mobile, has utilizado un enfoque similar con cierto éxito en AWT/Swing para dimensionar con precisión los tamaños de papel en pantalla y ofrecer una experiencia WYSIWYG real. Sin embargo, no estás seguro si este enfoque funcionará con iOS y GraalVM o si esto puede representar un posible error que requiere ser reportado.