专利名称:用于目标设备显示模拟的方法和系统的制作方法
技术领域:
本发明涉及计算机编程领域,尤其涉及用于创建被设计成在目标数字设备上运行的软件的可视编程环境。
背景技术:
越来越多的便携式计算机设备可在市场上购买。这些设备包括各种形状因子和性能的手持式或口袋大小的计算机、电话和个人数字助理。随着手持式设备的计算能力和存储器性能的增长,用户需要访问更强大的软件应用程序。
试图对复杂软件应用程序编程的程序员很快发现传统的可视软件开发系统不适用于对在数以万计的可用设备上运行的应用程序进行编程。具体地,给定手持式设备中的界面、屏幕大小和分辩率的多种变化,程序员可能很难确保手持式设备的特定选择的图形用户界面(GUI)会出现且在多个设备上正确地工作。例如,目标设备的显示和功能通常不能在开发系统的性能中得到很好的反映。
通常,手持式设备的程序员在首先在台式开发系统上编程,然后在手持式设备的仿真器或实际设备上运行新开发的软件之间进行切换,以查看手持式设备GUI是否如所期望那样的工作。这可能是耗时且低效的,尤其是当程序员希望将应用程序移植到各种各样的便携式设备的时候。在编程的一个方面,典型的开发环境可允许手持式设备的程序员在具有低分辩率显示器的开发系统上生成文本。但是当在手持式设备的高分辩率显示屏上显示该文本的目标代码时,由于开发系统和目标设备之间的显示和编程差异,显示屏至少部分地是不可使用的。
图1a描绘了在开发系统上呈现的手持式数字设备的显示屏。在图1中,假定开发系统显示设备具有比目标设备低的分辩率。例如,低分辩率开发系统可能具有对应于每英寸96线性像素的字符长度的96DPI的线密度,而目标设备显示矩阵在开发系统上被设为240×320像素。开发系统的目标是手持式数字设备,诸如个人数字助理、GPS接收器处理器、电话机、袖珍PC或具有高分辩率显示器的其它类型的数字设备。高分辩率显示器可以是具有对应于每英寸192线性像素的字符长度的192DPI的线密度的480×640像素矩阵。
图1a包括手持式数字设备屏幕110的显示100,该屏幕具有软键菜单栏150以及50×50像素的定位点位置130处的用户定义的文本框120。文本框120的大小是100×50像素。开发系统显示100示出文本框120中显示了四个字符140。假定开发系统显示具有比目标数字设备低的分辩率。如果在为手持式设备开发显示软件期间不为高分辩率显示做出任何调节,则在实际手持式数字设备的最终显示中会发生差错。
图1b显示了可从无法调节低分辩率开发系统显示和高分辩率目标设备实现之间的显示差异而导致的现有技术差错。图1b描绘了所得的显示110′。此处,文本框120′的大小从开发系统大小改变。50×50像素处的定位点位置130′不变。但是,由于高分辩率目标设备跨显示屏幕区域的宽度和高度具有更多可用的像素,因此定位点130′的物理位置比图1a的开发系统显示110中的更接近於显示屏幕的角落。
在手持式数字设备的高分辩率显示上显示的文本140′表现为切断的,且仅部分存在于高分辩率显示中。这是由于文本框大小的减小。很明显,如果开发系统不自动为开发系统分辩率和目标设备分辩率之间的差异进行调节,则会发生显示中的差错,从而迫使开发的迭代以达到目标高分辩率手持式设备期望的显示。
由此,需要一种用于手持式设备的“所见即所得”(WYSIWYG)开发系统,它正确地模拟高分辩率手持式数字设备能够产生的文本。本发明以此处所表达的附加优点满足了上述需求并解决了它们。
发明内容
本发明的一方面包括一种开发系统,该开发系统可产生目标数字设备的实时视图,使得开发者可感知到实际的设备在用新应用程序操作手持式设备时将看上去和感觉上如何。为达到这一目标,开发系统显示目标手持式数字设备的图像视窗,并操纵手持式设备的开发系统显示以指示按该图像视窗的比例定文本的大小,使得可模拟高分辩率显示。生成开发的文本的输出代码,使得所得的手持式设备上的显示与开发者在开发系统上所见的成比例地相似。在本发明的另一方面,可定义专用于一个目标设备的一种分辩率的开发的文本,然后进行改变以适应同一设备上的不同分辩率或不同的目标设备,由此允许设计的重复使用。
当结合附图阅读时,可以最好地理解以上概述和以下示例性实施例的详细描述。为说明本发明的实施例的目的,附图中示出了本发明的示例性构造;然而,本发明不限于所揭示的具体方法和手段。附图中图1a是在低分辩率开发系统显示上看到的目标设备的示例性部分;图1b是使用低分辩率开发系统显示生成高分辩率目标显示的现有技术结果;图2a是在低分辩率开发系统显示上看到的目标设备的示例性部分;图2b是具有本发明的各方面的高分辩率目标设备显示结果;图3a是在开发系统上示出目标设备的图像主体的示例屏幕截图;图3b是示出本发明的各方面的以高分辩率设备为目标的开发系统的示例屏幕截图;图4是用于本发明的示例性方法的流程图;以及图5是示出其中可实现本发明的各方面的示例性计算环境的框图。
具体实施例方式
综述在本发明的一个实施例中,在具有低分辩率显示的开发系统上模拟具有高分辩率的目标数字设备。本发明也可在其中目标数字设备与开发系统的显示分辩率相比具有低分辩率的应用程序中实现。开发系统由手持式设备的开发者用于生成手持式数字设备的文本和新应用程序。本发明的一个优点是用户/开发者以描绘目标设备的高分辩率方面的方式查看手持式设备的能力。这一使用低分辩率显示的高分辩率模拟或相反的情况允许开发者立即看到目标设备将如何显示开发文本或应用程序,并由此节省了总开发和调试时间。尽管此处包括的目标数字设备的示例包括手持式数字设备,然而本发明适用于具有在分辩率上不同于相应开发系统的显示的任何嵌入式设备应用程序。这类嵌入式设备应用程序的示例包括但不限于,诸如航线信息站、气泵、收银机、电话机或其它电信系统显示器等非手持式设备。
本发明的示例性实施例图2a是低分辩率开发系统显示200的描绘。在本示例中,开发系统的显示是240×320像素。显示200包括对具有软键菜单栏250的手持式数字设备210的显示屏幕的模拟。示出文本框220插入了文本240。文本框220的定位点位于50×50像素处。假定设计者将文本框220定位为具体位于显示210中的位置处,以适应显示设计的美学和其它元素。期望使目标数字设备的高分辩率显示具有从模拟的开发系统显示到最终的高分辩率显示保持的文本、文本框大小和相对几何位置。
图2b描绘了使用本发明的各方面从显示210的开发系统表示所得的对应的高分辩率显示210′。在本示例中,高分辩率显示的分辩率是480×640像素。高分辩率显示具有软键菜单250′以及文本框220′,它们具有图2a中的开发系统上的模拟的两倍的像素大小。然而,依照本发明的一方面,通过在100×100像素的位置处定位定位点230′,从开发系统到高分辩率显示保持了文本框220′的相对几何位置。该位置是高分辩率显示的密度是低分辩率开发系统显示的两倍的结果。文本字符240′在文本框220′中以类似于开发系统显示文本字符240的方式是可读的。所得的图2b的手持式设备显示210′是由开发者生成的开发系统显示的期望的直接结果,并且避免了图1b所示的现有技术的差错。
为达到图2b所示的期望的“所见即所得”结果,开发系统的分辩率和目标高分辩率设备的分辩率较佳地是已知且已调节的。图3a描绘了目标设备310的屏幕截图300。开发环境包括数字手持式设备的显示区域320。该开发环境的固有问题是其显示只能具有由开发环境的显示屏幕330的本机分辩率所设置的分辩率。数字手持式设备的分辩率可以比开发环境的显示屏幕330的本机分辩率更高或更低。
本发明的一方面是在选择了手持式数字设备的分辩率或形状因子之后,可使用该形状因子来重新缩放手持式数字设备的图像视窗的显示,以在较低分辩率的开发系统上模拟高分辩率显示。图3b描绘了图3a的手持式设备图像视窗310在按比例缩放设备图像后以适合高分辩率显示区域320上的字体大小的正确成比例显示。尽管该开发环境描绘了用于比实际大小大的数字手持式设备的显示,然而它准确地描绘了从与手持式设备310的图像视窗成比例地使用高分辩率设备所得的文本大小和细节。
在高分辩率模拟中使用转换算法来确定用于开发系统显示的近似字体大小。该转换算法为
开发显示字体大小=(目标字体大小)×(目标设备分辩率DPI/开发显示DPI)开发显示字体是开发系统的低分辩率显示应当为高分辩率设备的模拟显示的字体。目标字体是要在目标设备的高分辩率屏幕上显示的期望字体。高分辩率DPI是以DPI测量的目标设备将显示的线性像素密度。开发系统显示DPI是低分辩率开发系统显示的线性像素密度。该算法允许计算对应于图形视窗(目标设备的图形)的形状因子(大小)的字体大小。这样做使得开发者可以用呈现模拟高分辩率显示的成比例定大小的字体的方式来查看手持式设备图像视窗。
形状因子可被定义为设备类型,且可具有以下属性·名称。例如,袖珍PC 2003 VGA纵向矩形。
·设备屏幕大小,以像素表示。例如,袖珍PC VGA纵向矩形具有(480×640)的屏幕大小。
·以DPI表示的设备屏幕分辩率。例如,正常的低分辩率设备具有96DPI。高分辩率袖珍PC具有192DPI,而高分辩率智能电话具有131DPI。
每一设备可具有其自己的形状因子,或者单个设备可具有对应于不同分辩率等级的多个形状因子。设备的形状因子的示例包括·袖珍PC 2002,240×320,96DPI·袖珍PC 2003纵向矩形,240×320,96DPI·袖珍PC 2003方形,240×240,96DPI·袖珍PC 2003 VGA纵向矩形,480×640,192DPI·袖珍PC 2003 VGA方形,480×480,192DPI·智能电话2003,176×220,96DPI·智能电话3004 QVGA,240×320,131DPI·Windows CE.NET兼容设备(多种分辩率,默认为96DPI,640×480)在本发明的一方面,所选择的目标设备或目标设备的形状因子可以被改变,且为一个目标设备或形状因子开发的文本可以重新用于另一目标设备或形状因子。可以在以下XML模式(XSL)代码段中找到对形状因子的软件结构支持。本领域的技术人员可以认识到,以下定义的模式是示例性的,且因此是非限制性的。
平台级属性<xslattribute name=″DefaultFormFactor″>
POCKET_PC_2003_PORTRAIT
</xslattribute>
在每一平台下创建形状因子容器<FORMFACTORCONTAINER>
<xslelement name=″FORMFACTOR″>
<xslattribute name=″Name″>user friendly name</xslattribute>
<xslattribute name=″ID″>invariant form factor name</xslattribute>
<PROPERTYCONTAINER>
<PROPERTY ID=″DPIX″>device DPI,such as 96</PROPERTY>
<PROPERTY ID=″DPIY″>device DPI,such as 96</PROPERTY>
<PROPERTY ID=”SHOWSKIN”>true or false</PROPERTY>
<PROPERTY ID=″SupportRotation″>true or false</PROPERTY>
<PROPERTY ID=″DisplayWidth″>screen display width</PROPERTY>
<PROPERTY ID=″DisplayHeight″>screen display height</PROPERTY>
<PROPERTY ID=”ColorDepth”>color depth used by emulator</PROPERTY>
<PROPERTY ID=″Skin″>point to skin XML file,optional</PROPERTY>
<PROPERTY ID=″KeyMapping″>point to key mapping XML file,optional</PROPERTY>
</PROPERTYCONTAINER>
</xslelement>
</FORMFACTORCONTAINER>
袖珍PC平台示例1.默认形状因子是袖珍PC 2003纵向矩形<xslattribute name=″DefaultFormFactor″>POCKET_PC_2003_PORTRAIT</xslattribute>
2.所有支持的形状因子在形状因子容器中列出<FORMFACTORCONTAINER>
<xslelement name=″FORMFACTOR″>
<xslattribute name=″Name″>Pocket PC 2002</xslattribute>
<xslattribute name=″ID″>POCKET_PC_2002</xslattribute>
<PROPERTYCONTAINER>
<PROPERTY ID=″DPIX″>96</PROPERTY>
<PROPERTY ID=″DPIY″>96</PROPERTY>
<PROPERTY ID=”SHOWSKIN”>true</PROPERTY>
<PROPERTY ID=″SupportRotation″>false</PROPERTY>
<PROPERTY ID=″DisplayWidth″>240</PROPERTY>
<PROPERTY ID=″DisplayHeight″>320</PROPERTY>
</PROPERTYCONTAINER>
</xslelement>
<xslelement name=″FORMFACTOR″>
<xslattribute name=″Name″>Pocket PC 2003 Landscape</xslattribute>
<xslattribute name=″ID″>POCKET_PC_2003_LANDSCAPE</xslattribute>
<PROPERTYCONTAINER>
<PROPERTY ID=″DPIX″>96</PROPERTY>
<PROPERTY ID=″DPIY″>96</PROPERTY>
<PROPERTY ID=”SHOWSKIN”>true</PROPERTY>
<PROPERTY ID=″SupportRotation″>true</PROPERTY>
<PROPERTY ID=″DisplayWidth″>320</PROPERTY>
<PROPERTY ID=″DisplayHeight″>240</PROPERTY>
</PROPERTYCONTAINER>
</xslelement>
<xslelement name=″FORMFACTOR″>
<xslattribute name=″Name″>Pocket PC 2003 Portrait</xslattribute>
<xslattribute name=″ID″>POCKET_PC_2003_PORTRAIT</xslattribute>
<PROPERTYCONTAINER>
<PROPERTY ID=″DPIX″>96</PROPERTY>
<PROPERTY ID=″DPIY″>96</PROPERTY>
<PROPERTY ID=”SHOWSKIN”>true</PROPERTY>
<PROPERTY ID=″SupportRotation″>true</PROPERTY>
<PROPERTY ID=″DisplayWidth″>240</PROPERTY>
<PROPERTY ID=″DisplayHeight″>320</PROPERTY>
</PROPERTYCONTAINER>
</xslelement>
<xslelement name=″FORMFACTOR″>
<xslattribute name=″Name″>Pocket PC 2003 Square</xslattribute>
<xslattribute name=″ID″>POCKET_PC_2003_SQUARE</xslattribute>
<PROPERTYCONTAINER>
<PROPERTY ID=″DPIX″>96</PROPERTY>
<PROPERTY ID=″DPIY″>96</PROPERTY>
<PROPERTY ID=”SHOWSKIN”>true</PROPERTY>
<PROPERTY ID=″SupportRotation″>false</PROPERTY>
<PROPERTY ID=″DisplayWidth″>240</PROPERTY>
<PROPERTY ID=″DisplayHeight″>240</PROPERTY>
</PROPERTYCONTAINER>
</xslelement>
<xslelement name=″FORMFACTOR″>
<xslattribute name=″Name″>Pocket PC 2003 VGA Landscape</xslattribute>
<xslattribute name=″ID″>POCKET_PC_2003_VGA_LANDSCAPE</xslattribute>
<PROPERTYCONTAINER>
<PROPERTY ID=″DPIX″>192</PROPERTY>
<PROPERTY ID=″DPIY″>192</PROPERTY>
<PROPERTY ID=”SHOWSKIN”>true</PROPERTY>
<PROPERTY ID=″SupportRotation″>true</PROPERTY>
<PROPERTY ID=″DisplayWidth″>640</PROPERTY>
<PROPERTY ID=″DisplayHeight″>480</PROPERTY>
</PROPERTYCONTAINER>
</xslelement>
<xslelement name=″FORMFACTOR″>
<xslattribute name=″Name″>Pocket PC 2003 VGA Portrait</xslattribute>
<xslattribute name=″ID″>POCKET_PC_2003_VGA_PORTRAIT</xslattribute>
<PROPERTYCONTAINER>
<PROPERTY ID=″DPIX″>192</PROPERTY>
<PROPERTY ID=″DPIY″>192</PROPERTY>
<PROPERTY ID=”SHOWSKIN”>true</PROPERTY>
<PROPERTY ID=″SupportRotation″>true</PROPERTY>
<PROPERTY ID=″DisplayWidth″>480</PROPERTY>
<PROPERTY ID=″DisplayHeight″>640</PROPERTY>
</PROPERTYCONTAINER>
</xslelement>
<xslelement name=″FORMFACTOR″>
<xslattribute name=″Name″>Pocket PC 2003 VGA Square</xslattribute>
<xslattribute name=″ID″>POCKET_PC_2003_VGA_SQUARE</xslattribute>
<PROPERTYCONTAINER>
<PROPERTY ID=″DPIX″>192</PROPERTY>
<PROPERTY ID=″DPIY″>192</PROPERTY>
<PROPERTY ID=”SHOWSKIN”>true</PROPERTY>
<PROPERTY ID=″SupportRotation″>false</PROPERTY>
<PROPERTY ID=″DisplayWidth″>480</PROPERTY>
<PROPERTY ID=″DisplayHeight″>480</PROPERTY>
</PROPERTYCONTAINER>
</xslelement>
</FORMFACTORCONTAINER>
在本发明的一方面,开发系统显示分辩率可以高于或低于目标设备的显示分辩率。本领域的技术人员可以认识到,开发系统和目标设备之间较高或较低显示分辩率差异对于本发明是可能的。图4是本发明的一个实施例的流程图400。在用于手持式数字设备的开发系统上,为示例目的,假定开发系统显示具有比目标设备低级别的显示分辩率。最初,选择目标设备(步骤410)。目标设备可以是对开发者可用的多个目标设备中的一个,它可储存在计算机存储器中。在目标选择之后,在开发系统显示设备上显示表示目标设备的图形视窗(步骤420)。然后可选择的目标设备的形状因子(步骤430)。设备的形状因子可制定目标设备的显示分辩率等等,包括以像素表示的高分辩率显示的大小以及以DPI表示的显示的线密度。
假定选择了高分辩率目标设备,开发系统然后调整目标设备的图像视窗(步骤440),以适合目标设备的高分辩率界面的按比例缩放的显示的呈现。计算开发系统显示的成比例字体大小(步骤450),这允许与目标设备的图像主体成比例地显示文本。两者的成比例性使得开发系统可在低分辩率开发系统显示上模拟目标设备的高分辩率显示。由此,开发者可获得最终文本如同出现在目标设备上的外观的正确评价。
开发者然后可为目标设备生成文本(步骤460),同时理解高分辩率设备将如何表现。可生成或可串行化可由目标设备使用的代码,这可能作为保存动作的结果。在串行化期间使用的字体大小是与用于模拟开发系统显示的成比例字体大小等效的程序的字体大小。由此,所编程的目标设备代码将与目标设备视窗和显示字体的开发系统显示成比例地一致地出现。在一个实施例中,字体大小改变是通过属性阴影来实现的。在开发时,所显示的字体在大小上与属性浏览器中示出的字体不同。加阴影的字体大小在串行化开发代码时被结合到目标设备的控制代码中。
在生成文本的步骤之后或在此期间(步骤460),开发系统用户可任选地改变目标数字设备或目标设备的形状因子。改变目标设备允许程序员使用她为新目标设备创建的文本定义。改变形状因子允许程序员选择设备类型内的不同显示分辩率。任一类型的改变允许在同一设备上的显示分辩率之间的文本定义或不同设备之间的文本定义的重复使用。这些选项允许文本设计重复使用。
示例性计算设备图5和以下讨论旨在提供其中可实现本发明的各实施例的合适的计算环境的简要概括描述。尽管下文描述了通用计算机,但是这仅是一个单处理器示例,且本发明具有多个处理器的实施例可以用其它计算设备来实现,诸如具有网络/总线互操作性和交互的客户机。由此,本发明的实施例可在其中隐含了极少或最少的客户机资源的联网主存的服务环境中实现,例如其中客户机设备仅担当对网络/总线的接口,诸如放置在电器中的对象、或其它计算设备和对象的联网环境。本质上,可储存数据或可从其中检索数据的任何地方是期望的或合适的操作环境。
尽管并非所需,但本发明的实施例也可通过可供设备或对象的服务开发者使用的操作系统来实现,和/或包括在应用程序软件内。软件可在诸如由客户机工作站、服务器或其它设备等一个或多个计算机执行的程序模块等计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。通常,程序模块的功能在各实施例中可组合或分布。此外,本领域的技术人员可以理解,本发明的各实施例可以用其它计算机配置来实践。适合使用的其它众所周知的计算系统、环境和/或配置包括但不限于,个人计算机(PC)、自动取款机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备、网络PC、电器、灯、环境控制元件、小型机、大型机等等。本发明的实施例也可以在分布式计算环境中实践,其中,任务由通过通信网络/总线或其它数据传输介质连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中,且客户机节点可进而作为服务器节点来运行。
由此,图5示出了其中可实现本发明的实施例的合适的计算系统环境500的一个示例,尽管如上文清楚地描述的,计算系统500仅为合适的计算环境的一个示例,并非对本发明的实施例的使用范围或功能提出任何局限。也不应将计算环境500解释为对示例性操作环境500中示出的任一组件或其组合具有任何依赖或需求。
参考图5,用于实现本发明的实施例的示例性系统包括以计算机系统510形式的通用计算设备。计算机系统510的组件包括但不限于,处理单元520、系统存储器530以及将包括系统存储器的各类系统组件耦合至处理单元520的系统总线521。系统总线521可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线(也称为Mezzanine总线)。
计算机系统510通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、光盘只读存储器(CDROM)、可重写光盘(CDRW)、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机510访问的任一其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
系统存储器530包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)531和随机存取存储器(RAM)532。基本输入/输出系统533(BIOS)包括如在启动时帮助在计算机510内的元件之间传输信息的基本例程,通常储存在ROM 531中。RAM 532通常包含处理单元520立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图5示出了操作系统534、应用程序535、其它程序模块536和程序数据537。
计算机510也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图5示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器541、对可移动、非易失性磁盘552进行读写的磁盘驱动器551以及对可移动、非易失性光盘556,如CD ROM、CDRW、DVD或其它光介质进行读写的光盘驱动器555。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器541通常通过不可移动存储器接口,如接口540连接到系统总线521,磁盘驱动器551和光盘驱动器555通常通过可移动存储器接口,如接口550连接到系统总线121。
上文讨论并在图5示出的驱动器及其相关联的计算机存储介质为计算机510提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图5中,示出硬盘驱动器541储存操作系统544、应用程序545、其它程序模块546和程序数据547。注意,这些组件可以与操作系统534、应用程序535、其它程序模块536和程序数据537相同,也可以与它们不同。这里对操作系统544、应用程序545、其它程序模块546和程序数据547给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如键盘562和定位设备561(通常指鼠标、跟踪球或触摸板)向计算机510输入命令和信息。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线521的用户输入接口560连接至处理单元520,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器591或其它类型的显示设备也通过接口,如视频接口590连接至系统总线521,视频接口590进而可与视频存储器(未示出)通信。除监视器591之外,计算机系统也可包括其它外围输出设备,如扬声器597和打印机596,它们通过输出外围接口595连接。
计算机系统510可以使用到一个或多个远程计算机,如远程计算机580的逻辑连接在网络化环境中操作。远程计算机580可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并通常包括许多或所有上文相对于计算机系统510所描述的元件,尽管在图5中仅示出了存储器存储设备581。图5描述的逻辑连接包括局域网(LAN)571和广域网(WAN)573,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机系统510通过网络接口或适配器570连接至LAN 571。当在WAN网络环境中使用时,计算机系统510可包括调制解调器572或用于通过WAN 573,如因特网建立通信的其它装置。调制解调器572可以是内置或外置的,它通过用户输入接口560或其它适当的机制连接至系统总线521。在网络化环境中,相对于计算机系统510描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例,而非局限,图5示出了远程应用程序585驻留在存储器设备581上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它手段。
鉴于个人计算与因特网的交汇,已经开发并且正在开发各种分布式计算框架。个人和商业用户同样地拥有用于应用程序和计算设备的无缝的互操作和启用web的接口,使得计算活动越来越面向web浏览器和网络。
例如,可从微软公司获得的MICROSOFT的.NET平台包括服务器、如基于web的数据存储等构件服务、以及可下载设备软件。尽管此处的示例性实施例是结合驻留在计算设备上的软件描述的,但也可以通过操作系统、应用程序编程接口(API)或协处理器、显示设备和请求对象之间的“中间人”对象来实现本发明的实施例的一个或多个部分,使操作可以由所有.NET的语言和服务,以及在其它分布式计算框架中来完成、支持或访问。
如上所述,尽管本发明的示例性实施例是结合各种计算设备和网络体系结构来描述的,但基本概念可应用于其中期望实现高分辩率手持式设备模拟的任何计算设备或系统。由此,此处结合本发明的实施例所描述的方法和系统可被应用于各种应用程序和设备。尽管此处选择了示例性编程语言、名称和示例作为各种选择的代表,然而这些语言、名称和示例并不旨在限制。本领域的普通技术人员可以理解,存在许多种方式来提供实现本发明的实施例所实现的相同、相似或等效系统和方法的目标代码。
此处所描述的各种技术可以结合硬件或软件,或在适当时以两者的组合来实现。为此,本发明的方法和装置或其某些方面或部分可以采用包含在诸如软盘、CD-ROM、硬盘或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码被加载到诸如计算机等机器上并由其执行时,该机器变为用于实施本发明的装置。在可编程计算机上的程序代码执行的情况下,计算设备一般包括处理器、处理器可读存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。可例如通过使用数据处理API等来利用本发明的实施例的信号处理服务的一个或多个程序较佳地以高级过程语言或面向对象的编程语言来实现,以与计算机通信。然而,如有需要,程序可以用汇编语言或机器语言来实现。在任何情况下,语言可以是已编译或已解释语言,并且与硬件实现相组合。
尽管本发明是结合各附图的较佳实施例来描述的,但可以理解,可使用其它类型的实施例或可对所描述的实施例做出修改和添加来执行本发明的相同功能,而不偏离本发明。此外,应当强调,构想了各种计算机平台,包括手持式设备操作系统和其它应用专用操作系统,尤其是当无线联网设备的数量持续增长的时候。因此,所要求保护的本发明不应限于任何单个实施例,而是相反,应当依照所附权利要求书的宽度和范围来解释。
权利要求
1.一种在具有不同分辩率的显示上呈现目标数字设备的显示模拟的方法,所述方法包括选择第一目标数字设备,所述第一目标数字设备具有不同于开发系统显示的显示分辩率;在所述开发系统显示上显示所述第一选择的目标数字设备的图像视窗;选择代表所述第一目标数字设备的第一形状因子;依照所述第一形状因子调整所述图像视窗的所显示的大小,使得由所述开发系统显示所呈现的文本与如果所述文本在所述第一目标数字设备显示上显示时的大小成比例地出现。
2.如权利要求1所述的方法,其特征在于,还包括创建要在所述第一目标数字设备上显示的文本;以及为所述第一目标数字设备生成代码,所生成的代码控制字体大小,以与相对于所述图像视窗在所述开发系统上所显示的文本近似成比例地呈现文本。
3.如权利要求1所述的方法,其特征在于,还包括为所述第一目标数字设备选择第二形状因子;依照所述第二形状因子调整所述图像视窗的显示的大小,使得由所述开发系统显示所呈现的文本与如果所述文本在所述第一目标数字设备显示上显示时的大小成比例地出现。
4.如权利要求3所述的方法,其特征在于,还包括创建要在所述第一目标数字设备上显示的文本;以及为所述第一目标数字设备生成代码,所生成的代码控制字体大小,以与相对于所述图像视窗在所述开发系统上显示的文本近似成比例地呈现文本。
5.如权利要求1所述的方法,其特征在于,还包括为第二目标数字设备选择形状因子;依照所述第二形状因子调整所述图像视窗的显示的大小,使得由所述开发系统显示呈现的文本与如果所述文本在所述第二目标数字设备显示上显示时的大小成比例地出现。
6.如权利要求5所述的方法,其特征在于,还包括创建要在所述第二目标数字设备上显示的文本;以及为所述第二目标数字设备生成代码,所生成的代码控制字体大小,以与相对于所述图像视窗在所述开发系统上显示的文本近似成比例地呈现文本。
7.如权利要求1所述的方法,其特征在于,所述第一目标数字设备具有大于所述开发系统显示的显示分辩率的显示分辩率。
8.如权利要求1所述的方法,其特征在于,所述第一目标数字设备具有小于所述开发系统显示的显示分辩率的显示分辩率。
9.一种用于开发一个或多个目标设备的计算机系统,所述系统包括用于查看目标设备的显示;具有至少一个目标设备图像的存储器存储;能够访问具有指令的计算机存储器的处理器,所述指令当被执行时执行一种方法,包括选择第一目标数字设备,所述第一目标数字设备具有不同于开发系统显示的显示分辩率;在所述开发系统显示上显示所述选择的第一目标数字设备的图像视窗;选择代表所述第一目标数字设备的第一形状因子;依照所述第一形状因子调整所述图像视窗的所显示的大小,使得由所述开发系统显示所呈现的文本与如果所述文本在所述第一目标数字设备显示上显示时的大小成比例地出现。
10.如权利要求9所述的系统,其特征在于,所述方法还包括创建要在所述第一目标数字设备上显示的文本;以及为所述第一目标数字设备生成代码,所生成的代码控制字体大小,以与相对于所述图像视窗在所述开发系统上所显示的文本近似成比例地呈现文本。
11.如权利要求9所述的系统,其特征在于,所述方法还包括为所述第一目标数字设备选择第二形状因子;依照所述第二形状因子调整所述图像视窗的显示的大小,使得由所述开发系统显示所呈现的文本与如果所述文本在所述第一目标数字设备显示上显示时的大小成比例地出现。
12.如权利要求9所述的系统,其特征在于,所述方法还包括为第二目标数字设备选择形状因子;依照所述第二形状因子调整所述图像视窗的显示的大小,使得由所述开发系统显示呈现的文本与如果所述文本在所述第二目标数字设备显示上显示时的大小成比例地出现。
13.如权利要求12所述的系统,其特征在于,所述方法还包括创建要在所述第二目标数字设备上显示的文本;以及为所述第二目标数字设备生成代码,所生成的代码控制字体大小,以与相对于所述图像视窗在所述开发系统上显示的文本近似成比例地呈现文本。
14.一种具有计算机可执行指令的计算机可读介质,所述指令用于执行一种在具有不同分辩率的显示上显示目标数字设备的模拟的方法,所述方法包括选择第一目标数字设备,所述第一目标数字设备具有不同于开发系统显示分辨率的显示分辩率;在所述开发系统显示上显示所述选择的第一目标数字设备的图像视窗;选择代表所述第一目标数字设备的第一形状因子;依照所述第一形状因子调整所述图像视窗的所显示的大小,使得由所述开发系统显示所呈现的文本与如果所述文本在所述第一目标数字设备显示上显示时的大小成比例地出现。
15.如权利要求14所述的计算机可读介质,其特征在于,所述方法还包括创建要在所述第一目标数字设备上显示的文本;以及为所述目标数字设备的高分辩率显示生成代码,所生成的代码控制字体大小,以与相对于所述图像视窗在所述开发系统上所显示的文本近似成比例地呈现文本。
16.如权利要求14所述的计算机可读介质,其特征在于,所述方法还包括为所述第一目标数字设备选择第二形状因子;依照所述第二形状因子调整所述图像视窗的显示的大小,使得由所述开发系统显示所呈现的文本与如果所述文本在所述第一目标数字设备显示上显示时的大小成比例地出现。
17.如权利要求16所述的计算机可读介质,其特征在于,所述方法还包括创建要在所述第一目标数字设备上显示的文本;以及为所述目标数字设备的高分辩率显示生成代码,所生成的代码控制字体大小,以与相对于所述图像视窗在所述开发系统上显示的文本近似成比例地呈现文本。
18.如权利要求14所述的计算机可读介质,其特征在于,所述方法还包括为第二目标数字设备选择形状因子;依照所述第二形状因子调整所述图像视窗的显示的大小,使得由所述开发系统显示呈现的文本与如果所述文本在所述第二目标数字设备显示上显示时的大小成比例地出现。
19.如权利要求18所述的计算机可读介质,其特征在于,所述方法还包括创建要在所述第二目标数字设备上显示的文本;以及为所述第二目标数字设备生成代码,所生成的代码控制字体大小,以与相对于所述图像视窗在所述开发系统上显示的文本近似成比例地呈现文本。
20.如权利要求14所述的计算机可读介质,其特征在于,所述第一目标数字设备具有大于和小于所述开发系统显示的显示分辩率中的一项的显示分辩率。
全文摘要
一种在用于数字设备的低分辩率开发系统显示上查看高分辩率显示的方法,包括选择目标设备并为所选择的设备表示图像视窗。图像视窗显示了所选择的目标设备的真实视窗。选择表示目标设备的显示性能的形状因子。调整图像视窗大小,使得开发者可以看到与图像视窗成正确比例的文本,以模拟目标设备的高分辩率显示的外观。生成目标设备的目标代码,该代码包含对应于开发显示上的图像视窗和字体的正确的字体大小。
文档编号G06F9/44GK1815439SQ20051000335
公开日2006年8月9日 申请日期2005年12月30日 优先权日2005年1月31日
发明者K·L·艾默斯, X·严 申请人:微软公司