您如何利用SWT的Hi-DPI图标支持?

时间:2017-11-29 01:20:23

标签: java swt jface

根据Eclipse Project Neon - New and Noteworthy,SWT支持Hi-DPI监视器的自动缩放。 SWT是否仅支持"自动缩放",还是提供其他功能,例如为各种DPI或缩放级别定义不同的图像?如果是这样,我需要研究哪些课程?

2 个答案:

答案 0 :(得分:3)

SWT的Image有一个新的构造函数,它接受ImageDataProvider以提供不同缩放级别的图像数据。如果将应用程序移动到具有不同DPI的监视器或更改缩放级别,将要求提供者返回新缩放级别的图像(例如150或200)。

为了完整起见,还有一个ImageFileNameProvider。它与ImageDataProvider类似,但返回文件名。

答案 1 :(得分:3)

JFace ImageDescriptor createFromFilecreateFromURL方法查找名称以@2x@1.5x结尾的其他图片文件,并将其与SWT一起使用创建图像时的图像数据提供者。