在屏幕上准确调整图形尺寸
来源:互联网 发布:获取数据索引 编辑:程序博客网 时间:2024/06/05 01:29
你不得不确保你的图形是72dpi的时代已经一去不复返。随着支持web的移动设备和平板电脑的涌入,出现了各种尺寸、分辨率和像素的新屏幕。现在你必须确保无论针对什么设备你的移动应用程序图形应该具有合适的尺寸。
随着Apple iPad的推出,平板电脑设备已经成为年度的主打设备。 但关键的问题是相应的设备是否新颖或是否具有持久价值。据Business Insider* 报道,在它调查的 500个iPad拥有者中,从第一次购买算起,其使用率已经提升高达80%。根据本人经验,我可以告诉你我每天大约使用一个小时iPad用于阅读和游戏。
目录
- 屏幕规格
- 合理调整图形尺寸
- 始终不忘测试
- 下一步阅读方向
要求
预备知识:
你应该基本熟悉 ActionScript 3并且了解矢量和位图图形相关知识。
需要下列产品:
- Flash Professional (下载试用版)
屏幕规格
既然平板电脑已经在市场占有一席之地,那么你如何为它设计应用程序呢?对于桌面系统和其它移动设备又是怎样呢?表1给出了大多数流行平板电脑的屏幕规格。
表1. 各种移动设备的规格比较
桌面
移动设备
平板电脑
屏幕尺寸15" laptops
17" – 24" desktops4.3" Droid X
3.7" Droid 2
3.5" Apple iPhone 47" Samsung Galaxy Tab
7" BlackBerry PlayBook
9.7" Apple iPad分辨率
1024 × 768 (20%)*
1280 × 800 (higher 76%)*480 × 854 Droid 2
480 × 854 Droid X
640 × 960 iPhone 41024 × 600 Samsung Galaxy Tab
1024 × 600 BlackBerry PlayBook
1024 × 768 Apple iPad每英寸像素72264 Droid 2
227 Droid X
326 ppi iPhone 4G*170 Samsung Galaxy Tab
170 BlackBerry PlayBook
133 Apple iPad平台
Windows
MacAndroid 2.2
iOSAndroid 2.2
BlackBerry Tablet OS
iOS
合理调整图形尺寸
对于桌面系统来说,你可以轻易地制作一个100像素宽、30像素高的按钮,并且确信用户能够利用鼠标指针选中它,因为其每英寸的像素(或每英寸的点数)是 72。而对于平板电脑和移动设备来说,手指替代了鼠标指针并且相应的分辨率不再是72dpi。 上述两个因素使得按钮尺寸变得极为重要。
注: 在你处理位图图形时,你必须知道 DPI越大,你的文件尺寸也将越大。参考本文的结尾部分的资源列表,以便了解关于优化图形的更多信息。
手指尺寸
如果你对成人平均指纹进行测量,则它至少为半平方英寸。 这就是为什么iOS上的图标为这样尺寸的原因。 因此,tat就是你希望的按钮尺寸。 但是,你如何能够确保在所有设备上按钮的尺寸均是半平方英寸呢?
每英寸像素
在你学会调整内容尺寸之前,你需要确保所有图形不能自动缩放:
stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT;
在快速查看这些规格之后,你将发现每英寸像素(ppi)已经发生变化。为了确保一个按钮的面积总是0.5平方英寸,你应该利用0.5乘以相应的ppi(也称为dpi)。在ActionScript 3中,它应该如下所示:
next_btn.width = 133 * .5; next_btn.height = 133 * .5;
但你的确不需要为每种设备都进行这样的计算。 幸运的是,在Adobe Flash Professional中,你可以使用 Capabilities.screenDPI 属性来确定设备的屏幕 DPI。 然后,只需将其乘以0.5即可:
next_btn.width = Capabilities.screenDPI * .5; next_btn.height = Capabilities.screenDPI * .5;
为了避免太以美国为中心的做法,在你已知以毫米而不是以英寸为单位表示尺寸的情形下,这里给出了一种确定你的按钮像素尺寸的代码版本:
next_btn.width = Capabilities.screenDPI * (mm / 25.4);next_btn.height = Capabilities.screenDPI * (mm / 25.4);
始终不忘测试
由于Android 2.2 不是为平板电脑设备设计的版本—尽管市场上存在各种平板电脑设备(例如 Samsung Galaxy Tab)—但当实际分辨率为170时,Capabilities.screenDPI 属性将给出一个错误的分辨率240。因此你必须进行额外的核查并且进行相应的更改:
if (Capabilities.manufacturer == "Android Linux" && Capabilities.screenResolutionY == 1024) { next_btn.width = 85; next_btn.height = 85; }
图 1 给出了在三种设备尺寸合适的按钮:这三种设备是Droid 2、iPad和 Samsung Galaxy Tab。
下一步阅读方向
如需找到关于 Capabilities.screenDPI 属性的更多信息,请查看下列文章和参考:
- 创建适用于多种屏幕尺寸的移动Flash内容(Authoring mobile Flash content for multiple screen sizes)
- flash.systemCapabilities类(flash.systemCapabilities class)(Flash Platform的 ActionScript 3参考资料 )
- mx.coreRuntimeDPIProvider类(mx.coreRuntimeDPIProvider class)(Flash Platform的 ActionScript 3参考资料)
在你处理位图图形时,你必须知道 DPI越大,你的文件尺寸也将越大。 请参看我的下列视频以便了解关于优化图形的更多信息:
- 屏幕密度(Screen density)* (Adobe TV)
- 利用ActionScript优化图形(Optimizing graphics with ActionScript)* (Adobe TV)
- 在Flash Professional中优化Stage的图形 (Optimizing graphics on the Stage in Flash Professional)* (Adobe TV)
此外,你也可以通过使用Adobe Fireworks CS5等工具了解关于优化图形的更多信息:
- Fireworks的设计学习指南:优化多导出文件(Design Learning Guide for Fireworks: Optimizing files for multiple exports)*
- 优化及导出图形(Optimizing and exporting graphics) (Fireworks documentation)
根据 Creative Commons Attribution-Noncommercial 3.0 Unported License授予本作品许可。
关于作者
Paul Trani是Adobe的一名技术传教士。他在Adobe TV上主持一个系列视频教程*, 演示如何将Adobe Flash Professional集成到设计工作流中,从而在Web和移动领域发挥更大作用。Paul同时积极在各种会议和用户组中提供专家建议和指导。他的博客是: paultrani.com*.
原文链接:http://www.adobe.com/cn/devnet/devices/articles/sizing-graphics-across-screens.html
- 在屏幕上准确调整图形尺寸
- android上准确获取屏幕尺寸的方法
- 屏幕全屏后获取屏幕准确尺寸
- ios或者cocos2d-x开发在Xcode编译时自适应失效,获取屏幕尺寸不准确
- 在屏幕上输出以下图形 * *** ***** ******* ......
- [UIScreen MainScreen].bounds.size获取屏幕尺寸不准确
- 在 Virtual Box 中安装完 CentOS 后,如何调整屏幕尺寸(分辨率)
- 如何在 Linux 上自动调整屏幕亮度保护眼睛
- 在Linux上自动调整屏幕亮度保护眼睛
- css调整表格在屏幕上的位置
- 关于在屏幕上查找某个图形的问题
- 下面程序的功能是在屏幕上显示图形:
- Android 为什么计算不出准确的屏幕尺寸的原因,及 Android 获得屏幕物理尺寸、密度及分辨率
- VirtualBox屏幕尺寸调整和数据空间使用方法
- iPad开发实现横竖屏幕调整View的尺寸
- liigo:在PC电脑屏幕上模拟显示移动设备屏幕的物理尺寸示意图
- java获取一个字符串在屏幕上的尺寸的方法
- iOS开发 Xcode上使用xib时,查看UI在不同屏幕尺寸的效果
- Android数据存储之文件存储
- java回调函数
- 往sqlite中写入图片二进制数据及读取源码 for iphone
- 如何解决sql连接错误HResult 0x2, Level 16, State 1 Could not open a connection to SQL Server [2].
- TR069在家庭网络中的应用
- 在屏幕上准确调整图形尺寸
- 依赖注入那些事儿 <转>
- RichEdit 为插入的图片增加鼠标事件
- DWR3 学习笔记 - 对象传输
- 低调的华丽:从服务器开发的角度认识 asp.net 中的回调技术
- POJ-1961 Period
- 终端pty和TTY介绍及其区别
- Android 内存泄漏调试
- 分页,显示条数