2011-05-20 198 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中假設你將爲每個目標不同的應用編譯。目標是由屏幕分辨率指定的,我猜你可以期望真正的屏幕是這個尺寸。

嗯,我認爲這個設計很愚蠢,但可能真的是他們希望你爲他們的平臺開發的方式。