如何使用 Delphi 10.3.3 使 TImage 具有高 DPI 感知能力?
How to make TImage high-DPI aware using Delphi 10.3.3?
我正在使用 TImage 组件来显示图像文件。但是,在高 DPI 显示器中显示时,图片看起来很模糊。如果我使用高分辨率图像,它们在普通显示器中会被拉伸并且看起来很糟糕。
我知道 Delphi 10.4 有内置的 TVirtualImage 组件。我正在寻找 Delphi 10.3.3 VCL 应用程序的解决方法。
将不同分辨率的图片文件放入TImageCollection
在您的表单上添加一个 TVirtualImageList
并根据需要设置其 宽度 和 高度
将该图像添加到 TVirtualImageList
将方法 UpdateImage 添加到您的表单,内容如下:
Image1.Picture.Bitmap := nil;
VirtualImageList1.GetBitmap(0, Image1.Picture.Bitmap);
以 OnCreate 和 OnAfterMonitorDpiChanged 处理程序UpdateImage 调用
=14=]
我正在使用 TImage 组件来显示图像文件。但是,在高 DPI 显示器中显示时,图片看起来很模糊。如果我使用高分辨率图像,它们在普通显示器中会被拉伸并且看起来很糟糕。
我知道 Delphi 10.4 有内置的 TVirtualImage 组件。我正在寻找 Delphi 10.3.3 VCL 应用程序的解决方法。
将不同分辨率的图片文件放入
TImageCollection
在您的表单上添加一个
TVirtualImageList
并根据需要设置其 宽度 和 高度将该图像添加到
TVirtualImageList
将方法 UpdateImage 添加到您的表单,内容如下:
Image1.Picture.Bitmap := nil; VirtualImageList1.GetBitmap(0, Image1.Picture.Bitmap);
以 OnCreate 和 OnAfterMonitorDpiChanged 处理程序UpdateImage 调用
=14=]