2011-05-20 83 views
-1

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

是否存在将pt尺寸转换为pixel尺寸的平滑方法?

我发现像this,但我还是希望你能运用一些公式,并高兴。

回答

2

点是一个“真实世界”的长度单位(它们通常被定义为在1/72),但是像素不具有确定的真实世界大小,因为这取决于设备的分辨率。

例如,我的屏幕上的像素是宽大约0.3毫米,而我的电话的那些是大约0.15mm,并且我的激光打印机的“像素”是宽0.02毫米。因此,为了从像素到现实世界的单位,您需要具体设备的分辨率,即像素/真实世界的单位比率,通常以DPI表示(每英寸点数,其中“点”的意思是用于像素的设备的“像素”)。

当打印/扫描设备的“真实世界大小”是很重要的,所以它是由OS在某些方面几乎总是提供和正确处理;另一方面,与屏幕的情况是完全不同的。

在你不真正关心的在屏幕上显示的东西“现实世界大小”,因为没有人曾经真正测量屏幕上的任何东西大多数情况。而且,由于各种原因,屏幕布局通常部分以像素为单位完成(简单性为第一)。另一方面,文本和其他元素的大小通常以点,缇和其他“真实世界单位”来指定,一般来说,良好的窗口布局应该在“真实世界单位”中完成,以便轻松适应具有高像素密度的屏幕,其中基于像素的布局将不可读。由于这个原因,操作系统通常会为屏幕提供一个DPI值,但通常它会保留相同的默认值(通常为72 DPI),而不管真实的附加屏幕(也为了避免打破设计不良的界面),但可以将其配置给用户,让他将其调整到一个合适的值。

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

1

假设72 DPI为巴达是不是一个好的选择,因为现代移动设备具有的DPI 200-300。

0

不幸的是,巴达想去iPhone的方式,并有几台设备,你会释放每个设备,具有固定功能的应用程序。这样,您可以访问三星网页,阅读他们的屏幕的真实大小。然后为每个设备自己计算真实的DPI并将其存储到表中。运行时,您可以获取设备名称并尝试搜索您的表格。

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

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