控制缩放以及多倍图
一 系统缩放
Javafx针对系统缩放是有优化的,比如在我的小新pro13上默认缩放比例为200%,因此在默认情况下如下的代码:
1 | primaryStage.setWidth(500); |
展示的宽高是1000x1000,而我们是否可以自己来进行控制呢?也就是很多桌面程序常见的功能:是否禁止屏幕DPI适配
在Javafx中为我们提供了两个虚拟机参数:
1 | # 禁止屏幕缩放 |
因此只需要在虚拟机启动的时候加上这个参数即可,而Java为我们提供了两种方式,分别是键值对,以及传入一个Properties对象,因此就可以将参数写入Properties文件中,就可以保存用户的设置。
二 多倍图
多倍图还是对系统缩放的优化,因为如果图片是固定大小的,如果高分屏缩放很可能是150%,200%,那这样图片就会出现模糊的效果,因此Javafx对此进行了优化只要图片名称后加入 @2x或者 @3x,注意只能是整数倍,就可以实现自动切换,比如下面的代码,加载的其实是 java@2x.png这张图片。
1 | primaryStage.getIcons().add( |
注意加载图片的方式要使用非流的方式,因为如果是流就固定的使用那张图片了。
三 参考
感谢B站LeeWyatt的讲解,这是视频地址 https://www.bilibili.com/video/BV113411k7Zr
- 标题: 控制缩放以及多倍图
- 作者: chalmery
- 创建于 : 2022-02-08 00:00:00
- 更新于 : 2022-02-08 00:00:00
- 链接: https://github.com/chalmery/1839521991/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论