【发布时间】:2015-05-11 07:46:53
【问题描述】:
我有一个用于绘制签名的图像组件。目前你必须手动设置一个 scale 属性才能让它正确绘制,因为每个设备都有不同的屏幕密度。
有没有一种方法可以计算规模或不必同时使用 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;
【问题讨论】:
-
我确信有一种方法可以计算比例。你在寻求什么结果?你会得到什么结果?发布一些代码或屏幕截图可能有助于描述问题。
-
我删除了我的答案,你显然不明白。如果你能明白我说的话,那你就没事了。我本来可以帮助您理解的,但是您对我投了反对票!无论如何,祝你好运。
-
@DavidHeffernan 我确实理解,但它不正确
-
你不明白。我可以解释,但你不想听。没关系。如果你想让我再试一次,请告诉我。出于善意,您将
ImageWidth表示为您的图像控件的宽度,这不是您的意思。 -
你怎么知道我不想听?我很想听。但我需要获取屏幕属性才能解决我的问题,所以我知道您的解决方案无法正常工作。
标签: delphi bitmap scale firemonkey delphi-xe8