MlSkin皮肤组件开启High-DPI显示效果说明

MlSkin皮肤组件支持High-DPI显示效果,需要满足以下条件:

  1. Delphi10.3(包含)之后的Delphi版本

  2. 工程选项 Application->Mainifest->DPI Awareness 需要设置成 Per Monitor V2

    1.png

  3.  在工程的.dpr文件中,在最前面uses uMlSkinActiveHighDPI.pas 单元文件

2.png

 

通过上面这几项设置后,编译运行程序后就能有效果显示出来了,不过你可能会发现一些显示图片的地方会有点模糊,那是因为图片为了适配高DPI而被放大了,要解决这个问题,请继续往下看

 

在MlSkinResManager中添加多种尺寸的图标资源

  1. 先添加正常大小的图片,然后选中刚添加的这个图片ID,如:apple-logo-48

  2. 接着勾选右边 DPI Scale,选择将要添加的图片尺寸比例,比如:200%,再点击 Add按钮导入图片

     3.png

  3. 不同尺寸的图片添加进来后,ImageID会自动增加一个后缀@DPIxxx  (xxx表示不同尺寸)

    4.png

这样图片添加好后,程序运行时会根据当前屏幕的DPI自动去选择对应尺寸的图片,如果没有找到,则会直接放大显示图片

 

最后附上EMB官方关于Delphi对支持High-DPI显示效果的几篇文章链接,可以了解一下

 

评论已关闭