文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院图形处理其它图形软件高分辨率下界面布局的解决方案
精品推荐
特别推荐
·淘宝网店“设计装修”技巧全攻略
·巧用Windows的画图程序给图片添加水印
·高分辨率下界面布局的解决方案
·电脑艺术设计大师之路#6-图像调整
·如何使设计作品获得最佳菲林输出?
·Wacom影拓3手绘板实例教程:鸡年画鸡(一)
·分形——数学与艺术结合的明珠
·3DMAX的基础知识
·微软新成果:为懒人准备的抠图技术
·好用的Medi@show的电子影集
·推荐小巧精悍的《豪杰大眼睛》
·制作独具特色的人像照片 手绘人物指南
热点TOP10
·超酷!国外墙面涂鸦艺术图片精彩大赏
·2008年北京奥运会体育图标
·在线设计:轻松获取个性篆刻印章
·MatLab简介
·用PhotoFamily制作电子相册
·Adobe发布最新版Camera RAW 4.2插件
·电脑艺术设计大师之路#6-图像调整
·用《会声会影》制作动感校友集
·淘宝网店“设计装修”技巧全攻略
·如何使设计作品获得最佳菲林输出?
·制作独具特色的人像照片 手绘人物指南
·word和EXCEL文件如何导入问题汇总
·自制QQ自定义文字动画表情:透明糖果文字
·《越狱》中鸭子折纸图文教程
·微软新成果:为懒人准备的抠图技术
·nEOiMAGING光影魔术手使用视频教程
·Falsh变屏保--SWF Browser
·在线设计:轻松在线制作各种Logo标志
·VRay材质教程
·在家开影楼—轻松制作艺术照

高分辨率下界面布局的解决方案

日期:2007年9月10日 作者: 查看:[大字体 中字体 小字体]


为什么要保证我们的软件产品或应用程序中的文本、图像和字体、布局等问题呢,因为我们用户的终端显示设备通常型号和设置各异,如最近出现的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. 改变分辨率带来的影响


由此可见,增强和改善我们应用程序在高分辨率下的显示支持是非常有必要的,那么重要的标准应该是:图片看起来更好,文本也应该看起来更清晰。比如文本在200-DPI分辨率显示器上清晰的像激光打印机输出的一样(因为计算机显示有更多的颜色像素和灰度缩放支持,200-DPI的显示器的质量相当于600-DPI的打印机)所以PDA和Smartphone的厂商相对于纸介更看重高分辨率下的显示。

开发一个适应多分辨率的应用程序不是很简单,尤其对于一个已经成形的应用程序和系统来说,动静可能不小,但是它的好处是可以使我们不必再假设分辨率的各种情况,避免不能缩放带来的质量下降(比如说位图和位图字体),而且开发支持高分辨率的应用程序有时候会觉得有些单调和乏味,但是如果我们的产品或应用程序是为了服务于特定人群的(比如说视力不好、和需要长时间工作的人以及视弱人群),那么我们的工作就会变得非常有必要(在高对比度下和使用扩展大字体的情况都和高分辨率有关)。

系统韵律

Windows平台本身提供了帮助解决用户系统高分辨率问题的解决途径,我们可以通过一个小函数GetDeviceCaps()先获得当前的显示分辨率,然后通过GetSystemMetrics()这个系统韵律函数和读取系统信息和参数的SystemParametersInfo()函数提供的方法来改变windows中的图形以及控件元素、和字体的尺寸,从一个3d的边框效果乃至到一个小图标的尺寸,都可以随心所欲的改变。


大概原理是首先利用GetDeviceDaps()这个函数获得当前分辨下的X、和Y轴的数值作为基准;然后再确定要缩放到多少。

关键问题

在设计高分辨率的应用程序过程中,我们要特别注意四个重要的方面:文本和字体、图像(图形、图标和鼠标指针),版面设置以及重绘。

文本和字体

这里有两种字体:位图(光栅)字体和TrueType字体,而我们要想实现高分辨率的应用程序就只能使用Truetype字体,因为位图(光栅)字体只能在96-DPI的屏幕分辨率下正常,而且不能够缩放,Windows已经支持TrueType字体很长时间了,所以找到一个很好的TrueType字体并且定义到我们的应用系统中并不是什么大的问题,另外一个原因只能使用Truetype字体,因为一些最新的技术,比如说GDI+,但是它只支持Truetype字体的操作。

 

 

缺省的字体可以通过windows句柄(HWNDs)和得到,而图形设备(HDCs)获得的是位图(光栅)字体,所以有时候在改变字体的时候,不管缺省字体不是HWNDs和HDC字体,只要它是TrueType字体,我们就可以改变它:

 


HFONT font = (HFONT) GetStockObject (DEFAULT_GUI_FONT);

SendMessage (hwnd, WM_SETFONT, (WPARAM) font, 0);

SelectObject (hdc, font);

当我们在窗口上创建字体的时候,可以使用像素指定字体尺寸,然后调整分辨率。

 


LOGFONT lf;

Memset (&lf, 0, sizeof (lf));

lf.lfHeight = SCALEY (13);

HFONT font = CreateFontIndirect (&lf);

或者可以使用Windows API提供的选择文字通用对话框,允许使用更准确的像素点来指定字体尺寸,然后经过一些算法后转化字体尺寸为像素,可以指定只使用TrueType字体来显示。

 



[1] [2] [3] 下一页 




上一篇:八大要领 做网站就这么简单

下一篇:Windows Live OneCare 2.0试用感受

高分辨率下界面布局的解决方案 相关文章:
·XP系统运行慢?小编自用7招解决
·不用重装XP系统就可以解决全部故障
·校园网组建方案
·施工与工程组织方案
·DIV CSS网页布局实例:十步学会用CSS建站
·全面解决Generic host process for win32 services遇到问题需要关闭
·国内大学校园网网络建设方案参考
·外挂 录象 网站 举报方案最新教程_QQ堂
·中小企业整体网络安全解决方案解析
·开机提示reboot and select proper boot device or insert boot Media in selected boot device的解决
高分辨率下界面布局的解决方案 相关软件:
·成功少儿培养方案(上中下)高清晰PDF电子书
·极品美女登陆界面+登录介面更换器
·Vista界面仿真器 V1.51
·《炽天使:二战空骑兵》界面汉化补丁
·动网先锋系统集成方案大全
·Loading界面
·3D下载界面
·热网下载系统 v098(界面优化版)
·网络安全cisco解决方案
·Win XP播放器界面

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn