-2

我有一个用于绘制亲笔签名的图像组件。目前,您必须手动设置缩放属性以使其正确绘制,因为每个设备都有不同的屏幕密度。

有没有办法计算规模或不必为 Android 和 iOS 使用规模?

正如您可以在以下链接中阅读的那样,每个 android 和 iOS 设备都有不同的屏幕密度:http ://docwiki.embarcadero.com/RADStudio/XE8/en/Using_Multi-Resolution_Bitmaps

也尝试了这种方法,但它没有给出正确的比例:

function GetScreenScale: Single;
var
   ScreenService: IFMXScreenService;
begin
   Result := 1;
   if TPlatformServices.Current.SupportsPlatformService (IFMXScreenService, IInterface(ScreenService)) then
   begin
      Result := ScreenService.GetScreenScale;
   end;
end;
4

1 回答 1

0

解决方案:

function GetScreenScale: Single;
var
   Service : IFMXScreenService;
begin
   Service := IFMXScreenService(
      TPlatformServices.Current.GetPlatformService(IFMXScreenService));
   Result := Service .GetScreenScale;
end;
于 2015-05-15T11:50:26.787 回答