try*_*zor 23 java hdpi javafx-8
我刚刚在Arch Linux上的4k屏幕上试用了JavaFX Hello World示例,但遗憾的是GUI无法扩展.
该文件说:
Hi-DPI支持.JavaFX 8现在支持Hi-DPI显示.
那么如何让我的应用程序dpi识别?
jew*_*sea 33
Hi-DPI支持各种设备
对于具有视网膜显示器的OS X Mac,它应该"正常工作" - JavaFX知道Hi-DPI Mac并且将适当地扩展UI.如果将VBox中的间距设置为8,那么这是一个独立于设备的单元; 在非视网膜显示器上,它将占用8个像素,在具有两倍分辨率的视网膜显示器上,间距将占用16个像素.因为视网膜显示器还具有DPI的两倍以及非视网膜显示器的两倍的分辨率,所以无论设备如何,空间的物理屏幕测量都是相同的.
对于Windows和Linux设备,您的结果可能不太令人满意,因为JavaFX 8u20目前默认情况下不会在这些设备上计算出任意DPI分辨率并适当缩放.你可以做的是执行大多数测量中为em单位CSS(这是基于场景的根目录的默认字体的点数大小),并同样为FXML,然后设置场景根的默认字体的点数大小适当地根据您通过查询屏幕的DPI分辨率确定了什么.有关更多信息和示例代码,请参阅本答案中的讨论:javafx自动调整大小和按钮填充.
具体到Gnome
gsettings set org.gnome.desktop.interface scaling-factor 2
Run Code Online (Sandbox Code Playgroud)
您可以通过读取用户的gnome配置文件设置来查询此缩放因子,并将其与查询屏幕DPI结合使用,以确定适当的缩放因子如何使用上述技术应用缩放.
只是个人的故事 - 当我尝试使用上的Hi-DPI的Gnome 3的缩放(CentOS的7也是近期的Fedora发行版)显示了两天后,我发现的Hi-DPI跨应用程序在Linux下运行是全面支持很不稳定.当然,当我尝试使用CentOS 6时,支持得到了很大改善,但是仍然有很多方法可以通过窗口工具包,标准应用程序和第三方应用程序实现高质量的Hi-DPI支持.出于这个原因,我认为运行HiDPI Gnome桌面仍然是一个非常流行的东西,绝对不适合所有人 - 我相信这种情况会随着时间的推移而改变.
位图图像
在Apple的应用程序中(从带有视网膜显示屏的iPhone和iPad开始),问题的解决方案是应用程序开发人员为每个图像资产提供两个图像而不是一个图像.例如,启动画面将提供两个图像,一个是正常分辨率,另一个是2倍分辨率.这些文件的名称相同,但2x的名称是根据某些约定命名的,因此在运行时平台将在幕后查看视网膜上的2x版本.通过这种方式,您的应用程序会显示"fooImage.png",但会在具有视网膜显示的计算机上查找"fooImage@2x.png".
我不知道的Hi-DPI该位图图像选择的功能是否显示,目前在Java中8u20或不-你可能有通过查询与屏幕实现它自己screen.getDpi() ,然后加载相应的位图.
4K设备
4K推动了很多像素.当这样的图形管道可用时,JavaFX将默认使用硬件加速图形管道.某些图形硬件可能无法完全针对4K显示进行优化(例如,视频RAM不够),这可能会导致应用程序无法正常工作或性能不佳.我也不相信目前在各种4K设备上调查JavaFX性能已经付出了很多努力 - 它可能"只是工作",但它可能也没有.您需要在目标硬件上测试应用程序,以确定在该硬件上运行时JavaFX应用程序的当前功能.您可能还需要根据上面的一些建议调整应用程序.
尝试使用JavaFX显示4K视频时,用户报告了JavaFX 8u20的问题:
背景
支撑下OS X的Hi-DPI被(可能)比Windows/Linux设备简单,因为目标设备要么视网膜或与一种与所述OS X系统中的其他和直接支持的精确2x缩放非视网膜显示器可以利用帮助实现视网膜缩放.对于Windows/Linux,可能需要的是能够以非2 倍的因子进行缩放,并且(当前未完成和已调度的)要素RT-32521支持全局坐标缩放与基于DPI的默认值.按整数换算通常可以获得最佳的可见结果.
其他资源
有关Hi-DPI设备编码的完整指南超出了此特定答案的范围 - 您可以谷歌各种网络资源以获取更多信息.
如果您对Hi-DPI对JavaFX的支持有任何疑问,我建议您在openjfx-dev JavaFX开发人员邮件列表中询问他们.
维基百科
这个答案可能有一些可能的不一致或错误,可能会随着时间的推移而出现.我已经做了答案社区维基.如果您知道具体的修正,设备和操作系统的限制或支持模式支持的Hi-DPI对JavaFX的,请随时编辑这个答案或将其移动到的OpenJFX维基(它可能属于反正).
| 归档时间: |
|
| 查看次数: |
13392 次 |
| 最近记录: |