時間:2010-04-03 點擊: 次 來源:互聯網 作者:佚名 - 小 + 大
為什么要保證我們的軟件產品或應用程序中的文本、圖像和字體、布局等問題呢,因為我們用戶的終端顯示設備通常型號和設置各異,如最近出現的16×9,低于8”的等最新款式移動手提電腦,我們的應用程序和軟件產品通常會在這樣的終端變得面目全非,而這顯然給用戶的使用帶來了嚴重的問題,直接導致的問題如:操作易用性Usability、功能可接近性Accessibility、文本可讀性Readability 等,而這樣的問題并非不可逾越,要解決如何讓我們的應用程序在高分辨率的顯示下仍然保持正常可視,重點需要解決四個方面的問題文本和字體、圖像(圖形、圖標和鼠標指針)、版面設置和重繪等。 前言 所有的應用程序都可以工作在高分辨率下顯示嗎?答案當然是否定的。現在比較標準的計算機顯示器都已經可以支持顯示大概96像素點/英寸的分辨率了,而且越來越多的應用程序都可以運行在這種分辨率下,但是卻仍然面臨分辨率日益增長的帶來的危險。現在,我們可以輕松的買到一臺133-DPI顯示分辨率的筆記本電腦,甚至還有170DPI的,也許幾年以后200-DPI的顯示分辨率已經隨處可見了,著名的工業雜志DisplaySearch曾經預言在2002年底有40%的膝上電腦已經超過100-DPI的屏幕分辨率了,而且這個數字還在增長。 例圖 1.各種常見分辨率下字體外觀 現在大多數的應用程序要想顯示正常都依賴于分辨率,我們有些應用程序如果沒有高分辨率的支持將會變得非常丑陋并且導致用戶易用性降低,與此同時越來越多的用戶使用了大字體。但是遺憾的是當分辨率在130-DPI和200-DPI的時候是不成比例的,在96-DPI下的同一個應用程序在這種分辨率下會變得無法使用,有的時候這些應用程序的字體或控件會一律變得很小,但是更多的情況是一部分界面元素的尺寸正確的(例如,應用程序使用了缺省的字體,那么將會在這個基礎上比原來大一些)而另外一部分不正確,如下圖所示: 例圖2. 改變分辨率帶來的影響
開發一個適應多分辨率的應用程序不是很簡單,尤其對于一個已經成形的應用程序和系統來說,動靜可能不小,但是它的好處是可以使我們不必再假設分辨率的各種情況,避免不能縮放帶來的質量下降(比如說位圖和位圖字體),而且開發支持高分辨率的應用程序有時候會覺得有些單調和乏味,但是如果我們的產品或應用程序是為了服務于特定人群的(比如說視力不好、和需要長時間工作的人以及視弱人群),那么我們的工作就會變得非常有必要(在高對比度下和使用擴展大字體的情況都和高分辨率有關)。 系統韻律 Windows平臺本身提供了幫助解決用戶系統高分辨率問題的解決途徑,我們可以通過一個小函數GetDeviceCaps()先獲得當前的顯示分辨率,然后通過GetSystemMetrics()這個系統韻律函數和讀取系統信息和參數的SystemParametersInfo()函數提供的方法來改變windows中的圖形以及控件元素、和字體的尺寸,從一個3d的邊框效果乃至到一個小圖標的尺寸,都可以隨心所欲的改變。
|