Bada缩放问题

时间:2011-05-20 13:00:50

标签: fonts size pixel bada pt

我正在为Bada开发一个阅读器应用程序并且有一个愚蠢的问题。

是否存在将pt尺寸转换为pixel大小的流畅方式?

我找到了像this这样的东西,但我仍然希望你能用一些公式并对它感到满意。

3 个答案:

答案 0 :(得分:2)

点是“真实世界”长度单位(通常定义为1/72英寸),但像素没有明确的真实世界大小,因为这取决于设备的分辨率。

例如,我的屏幕上的像素宽约0.3毫米,而我的手机的像素约为0.15毫米,我的激光打印机的“像素”宽度为0.02毫米。因此,要从像素到真实世界单位,您需要特定设备的分辨率,即像素/现实世界单位比率,通常用DPI表示(每英寸点数,其中“点”的意图为用于处理像素的设备的“像素”。

在处理打印/扫描设备时,“真实世界大小”很重要,因此它几乎总是由操作系统以某种方式提供并且是正确的;另一方面,屏幕情况则完全不同。

在大多数情况下,你并不真正关心屏幕上显示的东西的“真实世界大小”,因为没有人真正在屏幕上测量任何东西。此外,由于各种原因,屏幕布局通常部分以像素完成(简单性是第一个)。

另一方面,文本和其他元素的大小通常以点,缇和其他“真实世界单位”指定,一般来说,良好的窗口布局应以“真实世界单位”完成,以便轻松适应屏幕具有高像素密度,基于像素的布局将是不可读的。

由于这个原因,操作系统通常会为屏幕提供DPI值,但一般情况下它会保留相同的默认值(通常为72 DPI),而不管真正的连接屏幕(也是为了避免破坏设计错误的界面),但让它可配置给用户,让他将其调整到舒适的价值。

至于Bada,我读到here操作系统既没有提供真正的“假”DPI值,所以没有真正的方法可以将点转换为像素。另一方面,您可以简单地使用通常的“默认”72 DPI值进行转换。请注意,72 DPI并非偶然选择:因为每英寸有72个像素,而每英寸有72个点,所以您只需假设一个点等于一个像素。不正确,但在你的情况下“足够好”。

答案 1 :(得分:1)

假设现代移动设备的DPI约为200-300,那么bada的72 DPI不是一个好选择。

答案 2 :(得分:0)

不幸的是,Bada希望采用iPhone方式,并拥有一些设备,您可以在具有固定功能的每台设备上发布您的应用程序。这样,您就可以访问三星网页,阅读其屏幕的实际大小。然后为每个设备自己计算实际DPI并将其存储到表中。运行时,您可以获取设备名称并尝试搜索您的表格。

AFAIK您必须分别将您的应用程序上传到bada商店。他们假设您将从Bada SDK中为每个目标编译不同的应用程序。目标由屏幕分辨率指定,我猜你可以期望真正的屏幕是这个大小。

嗯,我认为这个设计很愚蠢,但可能真的是他们期望你为他们的平台开发的方式。