CN101238430A - 具有运行时控制功能的虚拟放大镜 - Google Patents

具有运行时控制功能的虚拟放大镜 Download PDF

Info

Publication number
CN101238430A
CN101238430A CNA2006800286407A CN200680028640A CN101238430A CN 101238430 A CN101238430 A CN 101238430A CN A2006800286407 A CNA2006800286407 A CN A2006800286407A CN 200680028640 A CN200680028640 A CN 200680028640A CN 101238430 A CN101238430 A CN 101238430A
Authority
CN
China
Prior art keywords
magnifier
screen
window
user
machinable medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800286407A
Other languages
English (en)
Other versions
CN101238430B (zh
Inventor
J·费尔什
J·K·纳加里
K·J·史密斯
S·A·曼恩
S·M·梅尔
M·温瑟
D·V·艾斯普斯托
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101238430A publication Critical patent/CN101238430A/zh
Application granted granted Critical
Publication of CN101238430B publication Critical patent/CN101238430B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04805Virtual magnifying lens, i.e. window or frame movable on top of displayed information to enlarge it for better reading or selection

Abstract

一种可由用户控制以放大包括屏幕上打开的窗口在内的桌面的所选择部分的显示屏幕放大镜。提供了在其内呈现放大图像的可移动放大镜框。放大图像与位于放大镜框之下的放大区域内、被放大至所设置的放大级别的屏幕内容相对应。放大镜可通过使用用户输入设备来控制。可调节放大镜的至少一个操作参数,而无需用户与屏幕上的对象的交互且无需使焦点离开桌面或在屏幕上打开的任何窗口。在本发明的具体实施例中,放大镜的运行时可控制性包括对其进行激活和停用、调节放大级别以及调节放大镜框的尺寸。

Description

具有运行时控制功能的虚拟放大镜
本专利文献公开的一部分包含受到版权保护的材料。版权所有者不反对任何人对专利文献或专利公开内容的复制,如其在(美国)专利商标局专利文献或记录中出现的形式,但是在其它方面保留版权。
发明背景
各种类型的计算机显示屏幕放大和缩放功能是众所周知的。一般而言,这些放大镜显示了计算机屏幕上所展现的一部分的放大副本。这些功能已被提供作为视力受损人士的辅助选项,并且出于其它目的,也作为特定应用程序软件中所提供的特征,以及作为旨在提供通常可在操作系统(例如,桌面)级别和与其它用户应用程序一起使用的放大/缩放功能的专门软件。对于视力受损人士,这些特征可有助于阅读较小的屏幕文字和/或辨别图标等。更具体地,在可能期望扩大屏幕对象或图像的所有或一部分时,放大和缩放功能可能在应用程序内以及在操作系统(例如,桌面)级别下有用。
提供缩放功能的用户应用程序的一示例有Adobe Acrobat的pdf.文档阅读器。除经由下拉菜单的标准工具栏缩放级别选择之外,还存在三种平移和缩放相关特征:放大镜(Loupe)工具、平移和缩放(Pan & Zoom)窗口、动态缩放工具。
通过使用放大镜工具,用户用滑动块来控制缩放级别并通过在文档内点击来控制缩放位置。经缩放的区域由文档上的矩形来表示,该矩形在尺寸上与缩放级别成反比;经缩放的视图在单个窗口中示出。通过使用平移和缩放窗口特征,可在小窗口中呈现的文档页上移动尺寸可调整的框。随着该框被调整尺寸以及被移动,背景中所提供的文档视图进行缩放和平移。通过使用动态缩放工具,常规光标变成小型放大镜的表示,表明已进入缩放模式。在该模式中,用户能够在文档上点击并向上/下拖动以动态地放大或缩小,并且能够在该文档的侧向边缘上平移。
作为被提供为用户应用程序软件的一部分的缩放特征的又一示例,数字图像专家(Digital Image Pro)在作为用于导航图像的窗口的一部分提供的工具栏上提供一组控件。这些控件包括基于缩放级别的滑动块、返回到100%按钮、平移窗口和缩放至选择按钮。类似于Adobe的平移和缩放特征,其尺寸与所选择缩放级别成反比的一框可在小窗口中呈现的图像上移动。在背景中提供该框内的图像部分的放大视图。
应用程序通常使用计算机鼠标的输入工具来实现缩放功能。例如,滚动鼠标上的滚轮结合按压键盘上的CTRL键(CTRL+滚轮)可使得用户能够放大或缩小应用程序。每个应用程序具有其自身的缩放增量,并且滚轮缩放使用这些增量。其它缩放选项驻留在微软(Microsoft)IntelliPointTM(鼠标)软件控制面板中,如相关技术图4中所示。在按钮选项卡上,近来将放大和缩小命令已被添加作为每个鼠标按钮的选项。一些微软键盘具有缩放控件(例如“滑动块”),它在微软IntelliTypeTM软件的控制下操作。
与开发用于操作系统(桌面)级别的放大镜软件不同,针对具体用户应用程序的放大和缩放特征的开发中存在更大的灵活性,因为可“从底向上(the groundup)”地构建这些应用程序以容纳这些特征。而且,通过使用应用程序专用放大镜,放大镜与独立执行程序以及与它们相关联的窗口之间的交互通常并非关键所在。缩放易于在应用程序中实现。应用程序具有待显示的内容的内部表示,并且如果对其进行正确地设计,则可其可以不同的尺寸或缩放级别来显示内容。例如,在微软的Word中,可放大直至在屏幕上仅显示少数几行而文本仍非常清晰,因为这些字体是基于矢量图形(替代位图的字符的数学描述)的。
通过使用设计成通常可与桌面以及任何其它打开的窗口一起使用(即在操作系统(OS)级别下)的放大镜,应用程序所具有对缩放功能的内部表示是不可用的。相反,通过操作输出的屏幕截图或位图来执行放大。尽管这通常并不增加超出可应用的屏幕分辨率的细节,但是其的确使得用户能够以较大的尺寸查看用户界面(UI)对象和文本。这种放大镜与各种底层屏幕元素以及窗口交互的方式是很重要的;交互的本质很可能对该特征的实际和感知的可用性产生显著影响。
现有OS级别的屏幕放大特征的示例是微软Windows XP操作系统的“放大镜”。放大镜是一种使得屏幕对于视力受损的用户更易于阅读的显示实用程序。其创建了显示屏幕的放大部分的单独窗口,该放大部分根据例如鼠标指针的定点设备光标的位置来确定。用户可经由特征控制面板中的设置来改变放大级别。用户可对放大镜窗口进行移动或调整尺寸,或者将其拖动到屏幕的边缘并固定其位置。
已知的屏幕放大专用应用程序有Zoom Magic(缩放魔法)。当启动时,此应用程序打开自定义放大窗口,如图1中所示。该窗口与常规窗口一样是尺寸可调整且可移动的。标题栏中提供了所有工具/设置。该窗口对当前处于其之下的所有内容进行放大。鼠标光标可在放大内容上移动,但是其无法与该内容交互。
参看图1,存在通过点击窗口标题栏中的箭头按钮来启动的光标跟踪模式。点击不同的红色箭头将使窗口停放在顶部/底部/左侧/右侧。中心撤销对窗口的停放并使其恢复到常规窗口。这种模式允许覆盖其它打开窗口,但是不允许与放大窗口内的底层应用程序窗口交互。光标跟踪可通过点击箭头按钮来切换开启/关闭。存在用以使放大窗口保持在桌面和任何打开窗口之上的选项,但在此模式中,放大图像不进行更新除非点击放大窗口。
“Lens(透镜)”是由ABF放大工具(http://www.abf-soft.com/magnifying-tools.shtml)所提供的创建放大镜的漫画的工具,如相关技术图2中所见的。用户可通过拖动来对放大镜重新定位,并且使用它来对屏幕的区域选择性地放大。用户可通过点击+和-按钮来调节放大级别。此工具在激活时拍摄静态屏幕截图。即使屏幕上有任何变化,也不会反映在缩放的图像中。
已知的辅助性专用应用程序的另一示例是AI2(http://www.aisquared.com/index.htm)的ZoomText(缩放文本)8.1。当该应用程序被启动时,出现常见的控制面板类型用户界面(UI),如相关技术图3中所示。
ZoomText 8.1的放大镜/缩放特征具有若干模式:
全屏幕模式,渐增地放大整个屏幕。当鼠标靠近屏幕的边缘时,自动地启动平移。
覆盖模式,在屏幕的左下角中创建尺寸可调整的方形窗口。鼠标在常规(1∶1)视图中跟踪,并且该运动被反映在放大视图中。当鼠标靠近屏幕的边缘时,在缩放窗口内自动启动平移。
透镜模式,创建随着鼠标光标移动的浮动的尺寸可调整方形窗口。线条模式,创建随着鼠标光标的Y坐标中的变化向上和下移动的跨屏幕的横条带。在放大窗口内进行动态更新,以反映在使用期间屏幕内容中的变化,并且通过放大窗口可使用与底层应用程序窗口的交互,即准许鼠标和键盘输入穿过放大镜到达底层窗口。
停放模式,创建位于屏幕的顶部、右下或左边缘定位的尺寸可调整条带(黑色轮廓)。仅跟踪缩放视图中的鼠标运动,而锁定1∶1视图。
当启用时,Freeze It(冻结)工具使得用户可在屏幕上绘制尺寸可调整的框,并且锁定(“冻结”)其位置。预定义框视图将缩放位置锁定到特定的X和Y坐标。如果被放大的区域内的内容变化,则该变化被反映在该框内的放大内容中。冻结模式仅当处于“全屏幕”放大镜模式中时才可用。在全屏幕模式中,不存在透镜;整个屏幕被放大,并且鼠标平移到“屏幕外”的区域。
已知的显示屏幕放大镜在其简易度和便利性以及其使用的直观性上不理想。而且,其中实现某些放大镜的方式致使它们高度脆弱,即如果操作系统/驱动器更新和打补丁,则易于出现故障。
期望具有健壮的计算机实现的显示屏幕放大镜,它在能够在计算机桌面以及其它打开窗口“上浮动”方面、在用自然且直观的方式提供在其之下的内容的放大视图方面、以及允许不受禁止地查看底层桌面/窗口并与之交互方面,其表现更类似于实际的光学透镜放大镜。
实现旨在与例如微软的Windows操作系统的提供基于窗口的图形用户界面(GUI)的操作系统一起使用的放大应用程序提出了某些挑战。如果放大镜被创建为常规窗口,则放大窗口自身在其打开时变成桌面的一部分。结果,获取用以放大的桌面图像的系统调用将包括放大镜窗口自身(而非其下GUI的部分)。与在Windows XP放大镜中一样,使用这种系统调用来进行放大导致了无限镜像效应。从用户的角度来看,结果是阻止他/她获取位于放大窗口之下的那些内容的放大视图。
诸如之前提到的ZoomText产品的大量可用的放大应用程序已使用被称为驱动器链(driver chaining)的技术解决了上述难题。通过使用此方法,屏幕内容中由操作系统组成的所选择部分在前往视频显示驱动器之前由内核级放大镜截取并操作。使用屏幕阅读或屏幕放大软件,辅助技术提供商(ATV)实质上定位显示驱动器、获得其所需的信息、然后将有时更改的显示驱动器接口(DDI)调用传递到原始显示驱动器。(某些远程控制软件也使用这种技术来截取正被传递到远程计算机的信息)。DDI截取技术被称为驱动器链。这种链式驱动器截取从GDI到显示驱动器的DDI调用,并且以放大屏幕的一部分的方式来操作这些调用。至于Windows操作系统,重叠的放大镜输出根本就不存在,所以复制桌面的一部分的调用将看不到它。
因为驱动器链介入预先建立的操作系统/驱动器的关系,所以其可能并未获得诸如微软的操作系统供应商的官方支持。结果,该技术往往极度脆弱,并且易于发生故障,例如,如果使用新的服务包或驱动器对操作系统升级。可在微软开发者网络(MSDN)http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc/html/atg_driverc hain.asp上找到关于驱动器链以及其在屏幕放大镜和其它辅助技术产品中的应用的附加信息。
通过传统的控制面板来改变计算机显示放大镜的设置是缓慢且不便的。如果用户能够在运行时执行基本的放大镜控制功能而不丢失任务上下文或无需访问控制面板或以其他方式与屏幕上的工具/对象交互,则将是非常有益的。
用以激活、停用、定位放大镜或调节放大镜的尺寸或放大级别而无需使焦点离开打开的窗口将是非常有益的。如果放大镜获得焦点并接受鼠标/键盘输入,则放大镜设置将易于改变。然而,这存在一旦用户已完成调节设置将焦点返回到感兴趣的应用程序的问题。当应用程序被激活,并返回到前台时,它可能不处于相同的状态,并且键盘焦点可能处于不同的控件上。
发明概述
本发明提供了基于软件/固件的系统和方法,它们可在设有显示屏幕和用户输入设备(例如诸如计算机鼠标、跟踪球或触摸垫的定点设备或计算机键盘)的数据处理设备(例如通用或专用计算机)上执行。这些系统和方法用于提供用户可方便、选择性地扩大屏幕显示的内容的各部分的手段。提供了用以提供这种显示屏幕放大镜的新方法,以便解决上述已知放大镜的一个或多个缺点。
根据本发明的放大镜可由用户控制,以对桌面和屏幕上所打开的窗口的所选择部分进行放大。提供了在其中呈现放大图像的可移动放大镜框。该放大图像对应于位于放大镜框之下的放大区域内的、被放大至所设置的放大级别的屏幕内容。
根据本发明的放大镜是可通过用户输入设备来运行时控制的。可调节放大镜的至少一个操作参数,而无需与屏幕上的对象交互以及无需使焦点从桌面或屏幕上所打开的任何窗口离开。在本发明的特定实施例中,放大镜的运行时可控制性包括能够激活或停用该放大镜、调节其放大级别以及调节其放大框的尺寸的能力。
根据本发明的一方面,显示屏幕放大镜被配置成通过操纵经由操作系统的应用程序编程接口(API)可用的资源,即窗口样式以及与该窗口样式相关联的二级屏幕内容合成引擎来操作。
根据本发明的一方面,创建放大镜窗口,它对于用以获取要放大的桌面图像的调用而言实际上是不可见的。这使得放大镜能够以直观的方式操作,允许观看者观看直接处于该放大镜之下的内容并与该放大镜交互而无需使焦点离开打开的应用程序窗口和/或桌面。本发明的实施例利用经由微软Windows2000和XP操作系统的API可用的窗口样式。这样,避免了对使用脆弱的驱动器链的需求。
根据以下优选实施例的详细描述并结合附图,本发明的以上及其它目的、特征和优点将容易变得显而易见并且获得全面了解。
附图的简要描述
图1是示出了相关技术的放大镜产品在屏幕上的放大窗口的屏幕截图。
图2是示出了另一相关技术的放大镜产品的屏幕截图。
图3是示出了相关技术的放大镜产品在屏幕上的工具栏窗口的屏幕截图。
图4示出了作为用于与本受让人的相关技术的计算机鼠标产品一起使用的软件的一部分提供的控制面板。
图5是示出了由本发明的屏幕放大镜实施例执行的一系列操作过程步骤的流程图。
图6是示出了本发明的可移动且可调节的放大框的屏幕截图,包括在放大镜的调节模式过程中出现的重叠提示图形。
图7是根据本发明的一方面的一框位图的生成过程的图示。
图8是根据本发明的一方面的一掩膜(mask)位图的生成过程的图示。
图9A是示意图,包括选择用于放大的代表性图像部分,示出了放大镜框(“放大镜窗口矩形”)与底层放大区域(“捕捉矩形”)的关系。
图9B是示出了本发明的过程中用于生成和呈现与图9A中所示的图像部分相对应的放大图像的各个阶段的一系列视图。
图10A-10C是示出了根据本发明的一方面的、按1.5倍“拉伸”算法执行的过程的示意图。
优选实施例的详细描述
根据本发明的屏幕上放大镜包括在其内呈现放大图像的可移动放大镜框。该放大图像对应于位于放大镜框之下的放大区域内的、被放大至所设置的放大级别的屏幕内容。
根据本发明的实施例的显示屏幕放大镜被配置成当其被激活时,其保留在桌面以及屏幕显示的任何其它打开的窗口之上。它将用户输入设备(例如鼠标或键盘)的事件传递到位于放大镜之下的窗口,并且动态地更新放大图像以反映下方屏幕内容中的变化。可在设有显示屏幕和用户输入设备的通用计算机或其它数据处理设备上执行的软件或固件中体现这种显示屏幕放大镜。
本发明的一个方面涉及通过操纵经由操作系统的现有应用程序编程接口(API)可用的资源,具体为窗口样式以及与该窗口样式相关联的二级屏幕内容合成引擎来实现上述行为。如本文所用的术语“窗口样式”宽泛地包括规定了作为图形用户界面(GUI)的一部分出现的窗口的功能和/或视觉特性的任何参数集,包括包含在一组API内所规定的一个或多个指定窗口样式内的参数集。
在本发明的一示例性实施例中,放大镜包括使用以下扩展窗口样式创建的放大窗口,这些窗口样式作为个人计算机的微软Windows2000和XP操作系统的API的一部分来提供:
WS_EX_TRANSPARENT:此窗口样式规定了该窗口将不被绘制直至该窗口之下的窗口被绘制。这允许在放大镜被绘制之前拍摄该放大镜之下的屏幕的“快照”。
WS_EX_LAYERED:当此样式结合WS_EX_TRANSPARENT样式一起使用时,放大镜窗口将不会从鼠标或键盘接收用户输入;所有输入被传递到该放大镜之下的应用程序。当放大镜窗口被创建为分层透明窗口时,定点设备(例如鼠标)事件将被传递到该分层窗口之下的其它窗口。而且,此窗口样式对每个像素的阿尔法混合进行优化,这可用于给予放大镜一阿尔法混合框。此特性可用于给予用户放大镜“浮动”在桌面上的视觉提示。
WS_EX_NOACTIVATE:此窗口样式也使得窗口不会获得“焦点”。即,如果放大镜窗口作为平常变得视觉上突出显示的窗口(例如,设有标题栏的常规窗口)来提供,当使用定点设备(例如鼠标)在其内点击时,则窗口将不会变成如活动窗口一样在视觉上突出显示(例如点亮)。用户可在放大镜上点击。而且,键盘事件(输入)将不会被放大镜捕捉。这使得用户能够与位于该放大镜之下的应用程序窗口自由地交互。同时,使用此样式,放大镜将不出现在任务栏上。
WS_EX_TOOLWINDOW:添加该样式使得在打开窗口/应用程序的alt-tab列表中也不出现放大镜。
WS_EX_TOPMOST:此窗口样式使放大镜保持为最上层的窗口。不使用它,则该放大镜的效用将由于该放大镜隐藏在其它窗口之后而减弱。
可在微软开发者网络(MSDN)例如http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsu serinterface/windowing/windows/windowreference/windowfunctions/createwindowex.a sp上找到关于包括在微软Windows操作系统的API中的这些及其它扩展窗口样式的附加信息。
以下阐述可使用的示例性放大镜窗口创建函数:
//创建放大镜窗口
HWND hwnd=::CreateWindowEx(
WS_EX_NOACTIVATE|WS_EX_TRANSPARENT|
WS_EX_LAYERED|WS_EX_TOPMOST|WS_EX_TOOLWINDOW,
           wndClass.lpszClassName,L′,
           WS_POPUP|WS_VISIBLE|WS_DISABLED,
           0,0,0,0,
           NULL,NULL,hInstance,0);
在图5中示出了根据本发明的一方面的放大镜的操作过程。一旦放大镜窗口被激活,则定时器被设置,从而放大镜以预定速率(例如约每秒15到24次)接收定时器消息。在一个实施例中,定时器间隔被设置为15毫秒,即每秒67次。放大镜使用定时器消息来不断更新放大镜图像,以便在放大镜使用(激活)的同时反映下方屏幕内容中的变化。指示范围中的更新频率应当允许当放大框在屏幕上移动时放大图像相对平滑地变化,或者如果在其之下的窗口中正在播放动画,则由此仿效实际的光学放大镜在屏幕之前保持并移动的外观。如图5中所示,当接收到定时器消息时,捕捉要放大的区域,放大镜窗口被设置成最上层,然后以适当的放大级别将捕捉区域拉到放大镜中(例如“拉伸块转换(stretch blit)”)。
本发明的实施例利用了这个事实:USER32(Win32窗口管理器)实现了当创建透明窗口时用于执行屏幕内容的二级合成的相对简单的合成引擎。这里“二级”合成在某种意义上而言,其与通常或正常的桌面合成过程不同或是另外方案。由微软Windows操作系统使用的正常合成过程遵从有时被称为修正画笔算法(modified painters algorithm)。窗口以逆z次序(从上到下)被绘制到桌面。使用过度“剪辑”将屏幕上要重新绘制的区域约束于添加了内容或发生了变化的区域,以籍此避免屏幕闪烁和减小实际绘制/绘图工作量。
当窗口使用需要Windows来融合窗口像素与其“后面”的任何内容的阴影、透明或任何其它效果时,Windows分别为桌面和透明窗口创建中间位图缓冲区。然后,这些缓冲区的内容被“合成”以创建最终输出。对拍摄桌面快照的调用(例如GetDC(NULL))以及对从该桌面拉伸块转换(StretchBlt)的调用将使用桌面缓冲区,而非由二级合成过程形成的桌面。通过使其自身成为Windows“透明”窗口(即使其不透明度被设置成100%),放大窗口既启用二级合成过程,又将其自身置于主桌面之上。使用“最上层”窗口样式将通过防止在新的窗口随后出现并将其自身设置为最上层来使放大镜保持在最上层。
根据本发明的放大镜呈现了尺寸可调整的放大框,该框可在显示屏幕上移动,并且在该框内呈现了与位于该放大框之下的放大区域中的屏幕内容相对应的放大图像。在本文所述的主要实施例中,放大框/透镜被锁定到定点设备光标或以其为中心,以便随着该光标移动。在其它实施例中,可使放大框(对放大镜的虚拟“透镜”定界)独立于定点设备光标移动。
根据本发明的一方面的计算机显示放大镜“浮动”在桌面和任何打开窗口上,并且不使焦点离开该桌面或任何打开窗口。如前所述,这些是合乎需要的特性。然而,它们提出了关于如何对放大镜调节尺寸以及改变其放大级别的问题。对于正常应用程序窗口而言,这是简单的;调整尺寸可通过点击和拖动窗口边框来实现,而放大级别将使用屏幕上的控件来改变。然而,使用类似于这样的方法导致了焦点离开其它打开窗口,这可能导致未预期和不期望的结果。也可通过控制面板页来改变设置,但是这种方法是麻烦且耗时的,尤其对于在计算机上执行各种任务过程中期望放大镜的频繁间断帮助的用户而言。
根据本发明的一方面,提供了可由用户通过点击设置在用户输入设备(例如计算机鼠标或键盘)上的指定放大按钮来基本上即时地切换开启和关闭的放大镜。放大镜控制开关可以是专用按钮(或其它类型的用户可用开关)、或由用户分配放大特征的按钮。
在示例性实施例中,一旦放大镜被显示在屏幕上,用户就可持续按住放大按钮预定的一较短时间段(例如约半秒钟)以进入调节模式。为了向用户发信号通知调节模式是活动的,可使如图6中所示的图形出现在(例如淡入)由放大镜框定界的放大透镜区域中。在处于调节模式中的同时,用户可改变透镜的放大倍率和尺寸。如图6中所示,在屏幕上出现的屏幕可对用以影响放大镜的调节的合适的用户输入(例如鼠标移动和滚轮旋转)提供视觉指示。然而,用户不与这些图形交互来实现调节。以下概述了用于改变放大透镜/框的尺寸到示例性方案。
在放大镜被激活时,对放大镜框的宽度尺寸的改变可以以下方式来实现。如果用户下压并持续按住分配给放大功能的鼠标按钮,并且在预定方向上将鼠标移动一预定距离(例如向右50个像素),则可使放大镜框以对应于鼠标在该方向上移动的速率增大尺寸(例如在其右侧和左侧之一或两者)。如果用户下压并持续按住指定鼠标按钮,并且在第二预定方向上将鼠标移动一预定距离(例如向左50个像素),则可使放大镜框以对应于鼠标在该方向上移动的速率减小尺寸(例如在其右侧和左侧之一或两者)。
在放大镜被激活时,对放大镜框的高度尺寸的改变可以类似地来实现。如果用户下压并持续按住指定的鼠标按钮,并且在第三预定方向上将鼠标移动一预定距离(例如向下50个像素),则放大镜框将开始以对应于鼠标移动的速率增大尺寸(例如在其底侧和顶侧之一或两者)。如果用户下压并持续按住指定的鼠标按钮,并且在第四预定方向上将鼠标移动一预定距离(例如向上50个像素),则放大镜框将开始以对应于鼠标移动的速率减少尺寸(例如在其底侧和顶侧之一或两者)。
可通过组合上述鼠标移动来同时对放大镜框的尺寸进行垂直和水平上的改变。可保持放大镜的尺寸设置,从而下一次启动放大镜时,放大镜框/透镜将具有与上次关闭之前一样的尺寸。
在放大镜被激活时,放大级别可以以下方式来改变。如果用户下压指定鼠标按钮,然后在持续按住该按钮时向着自己滚动鼠标轮,则放大级别将在由最小放大级别(例如,1∶1放大率)所设置的任何边界内减小。如果用户下压指定鼠标按钮,然后在持续按住该按钮时远离自己地滚动鼠标轮,则放大级别将增大(在由最大放大级别所设置的任何边界内)。在一示例性实施例中,放大级别可递增地调节至以下级别:1.5倍、2倍、3倍、4倍和5倍。
在放大镜停用(关闭)时,下压指定鼠标按钮然后释放将使放大镜被激活并出现在屏幕上。随后短暂下压该按钮将即时地停用放大镜。在放大镜被停用时,如果用户下压指定按钮然后在持续按住该按钮的同时向着自己或远离自己滚动鼠标轮,则滚动事件将转到具有焦点的应用程序。当用户释放放大镜按钮时,放大镜就被激活并出现在屏幕上。
使用作为由微软的Windows2000和XP操作系统所提供的API的一部分可用的扩展窗口样式来实现根据本发明的一示例性放大镜。具体而言,放大镜可被配置为单层(WS_EX_LAYERED)、周期性地捕捉屏幕图像的一部分、拉伸它并更新其窗口图像的透明(WS_EX_TRANSPARENT)窗口。这些特定窗口属性使得窗口能够“浮动”在桌面以及任何打开的应用程序窗口之上。通过设置这些样式标志,放大镜从不接收焦点。相反,软件“挂钩”用于选择性地从鼠标获取用户输入,该用户输入用于调节放大镜而无需中断正在进行的用户任务和应用程序进程。
在上文所述的主要实施例中,使用计算机鼠标来提供输入按钮,该按钮与鼠标和滚轮移动相结合以实现对放大镜的调节。然而,应当理解,可使用各种其它公知的用户输入设备来用于提供放大镜的运行时可控制性,包括跟踪球设备、计算机键盘、触摸垫和操纵杆。
在根据本发明的示例性实施例中,一旦放大按钮被持续按住足够长时间以进入调节模式时,就设置鼠标挂钩。鼠标挂钩“吞食(eat)”鼠标生成的输入,并将其重定向到通常不接收输入的放大镜窗口。鼠标输入(鼠标移动和滚轮旋转信息)被用于调节设置。当鼠标挂钩被置位时,任何底层“处于焦点中”的应用程序不接收鼠标移动或滚轮通知。一旦退出调节模式,挂钩就被释放,这会在释放按钮时立即发生,从而使得处于焦点中的应用程序可再次接收鼠标输入。焦点应用程序从不失去焦点,所以不存在未预期的副作用。在所述示例性放大镜中,设置被存储为三个注册表值:放大级别;以像素计的放大镜宽度;以及以像素计的放大镜高度。
可在微软开发者网络(MSDN)例如http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/msdn_hook s32.asp上找到关于可与微软的WindowsTM操作系统一起使用的“挂钩”的信息。
同时参阅:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/wind owsuserinterface/windowing/hooks.asp
适于实现本发明的放大镜的示例性实施例的软件可根据两个主类来描述:MagnifierWindow(放大镜窗口),它实现窗口过程、创建、更新定时器和析构;以及MagnifierRenderer(放大镜呈现器),它实现屏幕图像捕捉和窗口呈现。
MagnifierWindow类使用WS_EX_LAYERED和WS_EX_TRANSPARENT样式(以及其它)来创建窗口。在启动时,它确定初始放大镜尺寸以及放大级别,并初始化MagnifierRenderer对象。它还创建定时器对象,并且在每个定时器报时时,对MagnifierRenderer对象调用Update()方法以更新放大镜在屏幕上的的图像以及其位置。当用户第二次点击放大镜鼠标按钮时,放大镜窗口自身关闭,并保存尺寸和放大级别。当接收到WM_CLOSE消息时,与MagnifierWindow对象相关联的HWND被释放。当该窗口被析构时,WM_QUIT被发送到线程消息泵。MagniferWindow可设有先前所述的放大镜调节模式,通过下压和持续按住指定放大镜鼠标按钮来进入该模式。以下是可被包括在MagnifierWindow类中的构成方法和消息句柄的示例性列表:
·Constructor(构造器):注册MagnifierWindow窗口类并创建其实例;加载鼠标挂钩dll;
·Destructor(析构器):核对与MagnifierWindow相关联的HWND是否被释放;对鼠标挂钩撤销挂钩;
·GetHWND:返回与MagnifierWindow类的该实例相关联的HWND(客户端可向此窗口发送WM_CLOSE消息以关闭放大镜);
·WM_CREATE:确定最佳放大镜尺寸(激活屏幕分辨率的百分比,或根据注册表设置)以及放大级别(默认为1.5倍,或注册表设置)。初始化magnifierRenderer对象并创建用于更新的窗口定时器;
·WM_CLOSE:析构更新定时器、保存注册表设置、调用DestroyWindow(析构窗口);
·WM_DESTROY:将WM_QUIT消息发送到线程的消息泵;
·WM_NCDESTROY:对类成员变量撤销初始化;
·WM_TIMER:如果屏保正在运行,则关闭放大镜;如果是活动的,则更新屏幕显示(OSD)动画(在尺寸和放大级别正被调节时出现的屏幕显示图形);获取当前鼠标指针位置并调用MagnifierRenderer::Update()来更新放大镜图像和位置;
·WM_DISPLAYCHANGE:当屏幕尺寸被改变时,更新放大镜尺寸;
·WM_ERASEBKGND:无操作。作为优化,当接收到消息时,控制被立即返回给Windows。
·WM_MOUSEWHEEL:仅从鼠标挂钩(当活动时)接收此消息;改变放大级别;
·WM_MOUSEMOVE:仅从鼠标挂钩(当活动时)接收此消息;改变放大镜窗口(框)尺寸;
·On Magnifier ButtonDown(当放大镜按钮按下时):进入调整尺寸模式;对鼠标进行挂钩;初始化OSD淡入;
·On Magnifier ButtonUp(当松开放大镜按钮时):退出调整尺寸模式;对鼠标撤销挂钩,初始化OSD淡出;如果放大或尺寸都未改变,则退出放大镜;
·SetBestWindowSize(设置最佳窗口尺寸):给定期望的宽度和高度,将放大镜窗口的尺寸调整至最适合;每个窗口边缘以当前放大率的两倍的增量变化(即,在mag=1.5时,窗口宽度按6个像素增量变化),以便防止图像在放大和缩小时发生抖动;以及
·MouseHook:鼠标挂钩回收;将鼠标轮和鼠标移动的消息转发到放大镜窗口。鼠标挂钩用于在改变放大镜的尺寸和放大时防止底层应用程序接收鼠标输入。
MagnifierRenderer
MagnifierRenderer类执行屏幕捕捉和放大呈现操作。它与窗口句柄相关联并被给定放大级别。可包括在MagnifierRenderer中的一个构成方法的示例性列表如下:
·Constructor:定义初始化;
·AttachWindow(附加窗口):使MagnifierRenderer对象与窗口句柄相关联。放大镜的宽度和高度等于所指定的窗口在调用时的宽度和高度。表示放大镜框和透镜掩膜的图像在此时生成。它们的宽度和高度与所指定窗口的宽度和高度相匹配。这两个图像被保存以在进行呈现时快速合成。这种方法可被重复调用以使MagnifierRenderer从该窗口尺寸开始调整其自身的尺寸;
·SetMagnification:设置放大级别。这种方法可在任何时间调用以改变放大级别;
·GetMagnification:返回到当前放大级别;
·SetOSDAlpha:设置指示用于调节放大镜的合适用户输入的调节模式屏幕显示图形的不透明度;
·GetOSDAlpha:获取调节模式屏幕显示图形的不透明度;
·Update:移动和更新放大镜。如果窗口尺寸已改变,则它创建新的框和透镜掩膜位图。如果捕捉位图未改变,则不发生更新,从而节省多个图像更新周期。
·Capture:提供两个捕捉缓冲区-当前和先前的;捕捉新的当前缓冲区,并且返回指示当前和先前的缓冲区是否不同的消息;
·Render:拉伸当前捕捉图像,屏蔽不期望像素,在上层复制框;
·CreateFrameAndMask:创建透镜掩膜、框、当前捕捉和先前捕捉位图,相对于当前窗口宽度和高度调整尺寸;
·GetBitmapSize:以SIZE结构返回HBITMAP的宽度和高度;
·GenerateBorder:取得9个分量位图,并使用它们填充目的位图;
·MaskBitmap:使用指定掩膜位图来屏蔽目的位图中的像素——目的像素与掩膜alpha值相乘;
·AreBitmapsDifferent:通过比较像素值以确定捕捉区域是否已改变来返回两个位图是否不同;作为优化,如果捕捉区域还未改变,则放大镜无需进行更新;
·Stretch_1x5:按1.5倍拉伸位图。
以下参照图7-10描述了MagnifierRenderer的示例性过程和功能。
初始化
参看图7,AttachWindow()保存所指定的窗口句柄,并创建框和透镜掩膜的图像。框和透镜掩膜图像与窗口宽度和高度相匹配。框由9个单独的元素构成。中心元素被拉伸以补足所需尺寸的框。注意:这些图像中的阴影区表示透明像素。
现在参看图8,在创建了框图像之后,以同一方式创建透镜掩膜图像。掩膜中由非阴影区表示的不透明像素定义了其中经拉伸的图像将出现的区域。注意:这些图像中的阴影区表示透明像素。
MagnifierRenderer::Update()方法检查所有者窗口的尺寸是否已改变,并且如果已改变,则更新框和透镜掩膜图像以匹配新的尺寸。客户端可调用AttachWindow()来显式地引发框和透镜掩膜图像被重建。
捕捉
参看图9A,源图像捕捉矩形以当前鼠标指针位置为中心。所示捕捉矩形(定义了放大区)的宽度为放大镜窗口矩形(放大镜框)的宽度除以放大级别。类似地,捕捉矩形的高度为放大镜窗口矩形的高度除以放大级别。捕捉方法复制屏幕图像并返回所捕捉的图像是否与先前所捕捉的图像不同。所捕捉的图像被存储以便在进行呈现时使用。
呈现
如图9B中所示,首先所捕捉的图像被拉伸成窗口尺寸。接着,经拉伸的窗口使用透镜掩膜来屏蔽。然后,框被应用到经拉伸的图像。在进入调节模式时,放大率调节和框尺寸调整提示图形(较佳地为透明的——图形图像表示透明像素)被添加到带框图像。提示图形仅在调节模式为活动时出现。
更新
如果放大镜的图像和位置已变化,则对::UpdateLayeredWindow(图像和位置)进行调用。如果仅位置发生变化,则对::UpdateLayeredWindow(位置)进行调用。如果仅图像发生变化,则对::UpdateLayeredWindow(图像)进行调用。在Update()函数中,窗口被设置成最上层。
1.5倍拉伸算法
可使用标准窗口API来以不同的放大级别将位图拉伸至放大镜框。在本发明的一个实施例中,默认1.5倍的放大级别使用不同的算法来优化速度并改善放大图像的外观。
如图10A中所示,当按1.5倍进行拉伸时,两个源像素变成三个目的像素。第一源像素被复制到第一目的像素。第二源像素被复制到第三目的像素。第二目的像素被设置为前两个源像素的平均。
放大镜所用的拉伸算法将源行0、1、2、3、4、..分别拉伸到目的行0、2、3、5、6、...,如图10B中所示。然后,算法返回通过行1、4、7等并通过对来自目的像素的上一行及下一行的像素求平均来填入这些行,如图10C中所示。
已根据本发明的优选和示例性实施例描述了本发明。对于本领域普通技术人员而言,根据对本公开的审阅,将会想到落入所附权利要求的范围和精神内的各种其它实施例、更改和变化。在权利要求书中,对本说明书中出现的算法变量标记的任何使用是出于方便和清晰起见,而非旨在起任何限制作用。

Claims (23)

1.一种其上包含指令的机器可读介质,当通过具有显示屏幕和用户输入设备的数据处理设备执行所述指令时,所述指令用于配置所述设备以提供可由用户控制来放大包括所述屏幕上打开的窗口在内桌面的所选择部分的显示屏幕放大镜,所述放大镜提供了在其内呈现放大图像的可移动放大镜框,所述图像与位于所述放大镜框之下的放大区域内、被放大至所设置的放大级别的屏幕内容相对应,所述放大镜可由用户经由使用所述输入设备调节所述放大镜的至少一个操作参数来控制,而无需用户与屏幕上的对象的交互且无需使焦点离开所述桌面或所述屏幕上打开的任何窗口。
2.如权利要求1所述的机器可读存储介质,其特征在于,所述放大镜能够通过使用所述输入设备来激活和停用,而无需用户与屏幕上的对象的交互,且无需使焦点离开所述桌面或所述屏幕上打开的任何窗口。
3.如权利要求1所述的机器可读存储介质,其特征在于,所述放大镜的所述至少一个操作参数包括所述放大镜框的尺寸大小。
4.如权利要求1所述的机器可读存储介质,其特征在于,所述放大镜的所述至少一个操作参数包括所述放大镜的放大级别。
5.如权利要求1所述的机器可读存储介质,其特征在于,所述放大镜的调节模式可使用所述输入设备来激活,并且当所述调节模式被激活时,使挂钩被置位,所述挂钩将所述输入设备的输入临时性地定向到所述放大镜以改变所述至少一个操作参数。
6.如权利要求5所述的机器可读存储介质,其特征在于,所述输入设备是计算机定点设备,并且所述挂钩是所述计算机定点设备的挂钩。
7.如权利要求6所述的机器可读存储介质,其特征在于,所述挂钩将所述计算机定点设备的指针移动数据和滚轮旋转数据的至少之一定向到所述放大镜,以改变所述放大镜的所述至少一个操作参数。
8.如权利要求7所述的机器可读存储介质,其特征在于,所述挂钩将所述指针移动数据定向到所述放大镜,所述指针移动数据用于调节所述放大镜框的尺寸大小。
9.如权利要求7所述的机器可读存储介质,其特征在于,所述挂钩将所述滚轮旋转数据定向到所述放大镜,所述滚轮旋转数据用于调节所述放大镜框的放大级别。
10.如权利要求1所述的机器可读存储介质,其特征在于,所述输入设备包括定点设备,并且所述放大镜框的所述位置和移动对应于所述定点设备在屏幕上的光标的所述位置和移动。
11.如权利要求1所述的机器可读存储介质,其特征在于,所述放大图像被动态地更新以反映在所述放大镜被激活的同时底层屏幕内容中发生的变化。
12.如权利要求2所述的机器可读存储介质,其特征在于,在驱动所述用户设备上的开关时,所述放大镜被激活,并且在所述开关被连续驱动一预定时间段时,进入调节模式。
13.如权利要求12所述的机器可读存储介质,其特征在于,当所述放大镜处于所述调节模式中时,所述放大镜呈现调节模式为活动的屏幕上视觉指示符。
14.如权利要求13所述的机器可读存储介质,其特征在于,所述视觉指示符提供对用于实现所述放大镜的所述至少一个操作参数的调节的适当用户输入的指示。
15.如权利要求14所述的机器可读存储介质,其特征在于,所述视觉指示符提供对用于实现所述放大镜的所述至少一个尺寸大小的调节的适当用户输入的指示。
16.如权利要求13所述的机器可读存储介质,其特征在于,所述视觉指示符提供对用于实现所述放大镜的放大率的调节的适当用户输入的指示。
17.如权利要求1所述的机器可读存储介质,其特征在于,所述显示屏幕放大镜通过操作系统的应用程序编程接口的窗口样式以及与所述窗口样式相关联的二级屏幕内容合成引擎来配置。
18.一种具有显示屏幕和用户输入设备的数据处理设备,所述设备被配置成提供可由用户控制以放大包括所述屏幕上打开的窗口在内的桌面的所选择部分的显示屏幕放大镜,所述放大镜提供了在其内呈现放大图像的可移动放大镜框,所述图像与位于所述放大镜框之下的放大区域内、被放大至所设置的放大级别的屏幕内容相对应,所述放大镜可由用户经由使用所述输入设备调节所述放大镜的至少一个操作参数来控制,而无需用户与屏幕上的对象的交互且无需使焦点离开所述桌面或所述屏幕上打开的任何窗口。
19.如权利要求18所述的数据处理设备,其特征在于,所述放大镜能够通过使用所述输入设备来激活和停用,而无需用户与屏幕上的对象的交互,且无需使焦点离开所述桌面或所述屏幕上打开的任何窗口。
20.如权利要求18所述的数据处理设备,其特征在于,所述显示屏幕放大镜通过操作系统的应用程序编程接口的窗口样式以及与所述窗口样式相关联的二级屏幕内容合成引擎来配置。
21.一种配置具有显示屏幕和用户输入设备的数据处理设备的方法,所述数据处理设备被配置成提供可由用户控制以放大包括所述屏幕上打开的窗口在内的桌面的所选择部分的显示屏幕放大镜,所述放大镜提供了在其内呈现放大图像的可移动放大镜框,所述图像与位于所述放大镜框之下的放大区域内、被放大至所设置的放大级别的屏幕内容相对应,所述放大镜可由用户经由使用所述输入设备调节所述放大镜的至少一个操作参数来控制,而无需用户与屏幕上的对象的交互且无需使焦点离开所述桌面或在所述屏幕上打开的任何窗口。
22.如权利要求21所述的方法,其特征在于,所述放大镜能够通过使用所述输入设备来激活和停用,而无需用户与屏幕上的对象的交互,且无需使焦点离开所述桌面或在所述屏幕上打开的任何窗口。
23.如权利要求21所述的方法,其特征在于,所述显示屏幕放大镜通过操作系统的应用程序编程接口的窗口样式以及与所述窗口样式相关联的二级屏幕内容合成引擎来配置。
CN2006800286407A 2005-08-04 2006-08-02 具有运行时控制功能的虚拟放大镜 Expired - Fee Related CN101238430B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/196,511 2005-08-04
US11/196,511 US7694234B2 (en) 2005-08-04 2005-08-04 Virtual magnifying glass with on-the fly control functionalities
PCT/US2006/030151 WO2007019193A2 (en) 2005-08-04 2006-08-02 Virtual magnifying glass with on-the-fly control functionalities

Publications (2)

Publication Number Publication Date
CN101238430A true CN101238430A (zh) 2008-08-06
CN101238430B CN101238430B (zh) 2010-06-16

Family

ID=37718976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800286407A Expired - Fee Related CN101238430B (zh) 2005-08-04 2006-08-02 具有运行时控制功能的虚拟放大镜

Country Status (12)

Country Link
US (2) US7694234B2 (zh)
EP (1) EP1910917A2 (zh)
JP (1) JP5130215B2 (zh)
KR (1) KR20080040696A (zh)
CN (1) CN101238430B (zh)
BR (1) BRPI0614901A2 (zh)
CA (1) CA2617318A1 (zh)
MX (1) MX2008001616A (zh)
NO (1) NO20080374L (zh)
RU (1) RU2409856C2 (zh)
TW (2) TW201337784A (zh)
WO (1) WO2007019193A2 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214060A (zh) * 2010-04-12 2011-10-12 宏碁股份有限公司 触控式电子装置及其窗口操控方法
CN102393952A (zh) * 2011-07-01 2012-03-28 深圳市斯尔顿科技有限公司 一种图像放大测量方法及装置
WO2012083563A1 (zh) * 2010-12-24 2012-06-28 天津九安医疗电子股份有限公司 一种血压测量系统
CN103455234A (zh) * 2012-06-01 2013-12-18 腾讯科技(深圳)有限公司 显示应用程序界面的方法及装置
CN103942001A (zh) * 2014-05-12 2014-07-23 上海卓悠网络科技有限公司 一种移动终端的自由截屏方法和移动终端
CN104412304A (zh) * 2012-07-13 2015-03-11 索尼公司 信息处理装置、信息处理方法和信息处理程序
CN104731396A (zh) * 2013-12-19 2015-06-24 鸿合科技有限公司 一种魔术笔及其显示控制方法
CN106604146A (zh) * 2015-10-20 2017-04-26 中兴通讯股份有限公司 机顶盒显示界面放大的方法和装置
CN110096324A (zh) * 2019-04-22 2019-08-06 四川易简天下科技股份有限公司 一种基于windows系统的自动过滤自身窗口的高效抓屏方法
CN110874172A (zh) * 2018-08-31 2020-03-10 北京京东尚科信息技术有限公司 放大app界面的方法、装置、介质及电子设备
WO2023060414A1 (en) * 2021-10-12 2023-04-20 Citrix Systems, Inc. Adjustable magnifier for virtual desktop

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7760187B2 (en) * 2004-07-30 2010-07-20 Apple Inc. Visual expander
US20030084087A1 (en) * 2001-10-31 2003-05-01 Microsoft Corporation Computer system with physical presence detector to optimize computer task scheduling
US7949955B2 (en) * 2005-08-04 2011-05-24 Microsoft Corporation Virtual magnifying glass system architecture
US7900158B2 (en) 2005-08-04 2011-03-01 Microsoft Corporation Virtual magnifying glass with intuitive use enhancements
US7694234B2 (en) * 2005-08-04 2010-04-06 Microsoft Corporation Virtual magnifying glass with on-the fly control functionalities
US8108785B2 (en) * 2006-01-09 2012-01-31 Microsoft Corporation Supporting user multi-tasking with clipping lists
US8312372B2 (en) * 2006-02-10 2012-11-13 Microsoft Corporation Method for confirming touch input
US7991225B2 (en) * 2006-03-03 2011-08-02 University Of Alaska Methods and systems for dynamic color equalization
US20070268317A1 (en) * 2006-05-18 2007-11-22 Dan Banay User interface system and method for selectively displaying a portion of a display screen
US8570278B2 (en) 2006-10-26 2013-10-29 Apple Inc. Portable multifunction device, method, and graphical user interface for adjusting an insertion point marker
US7856605B2 (en) * 2006-10-26 2010-12-21 Apple Inc. Method, system, and graphical user interface for positioning an insertion marker in a touch screen display
EP2095215A2 (fr) * 2006-12-20 2009-09-02 France Telecom Systeme de selection d'elements affiches sur un ecran
US20090027421A1 (en) * 2007-07-27 2009-01-29 Franklin Servan-Schreiber Computer system with a zooming capability and method
JP2009112356A (ja) * 2007-11-02 2009-05-28 Ge Medical Systems Global Technology Co Llc 超音波診断装置
US8201109B2 (en) 2008-03-04 2012-06-12 Apple Inc. Methods and graphical user interfaces for editing on a portable multifunction device
US8650507B2 (en) * 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
US20090241059A1 (en) * 2008-03-20 2009-09-24 Scott David Moore Event driven smooth panning in a computer accessibility application
US20090254853A1 (en) * 2008-04-03 2009-10-08 Donald Jacob Method of viewing a single document in multiple scaled views
JP4661909B2 (ja) * 2008-06-04 2011-03-30 富士ゼロックス株式会社 情報表示装置及びプログラム
JP2010044628A (ja) * 2008-08-13 2010-02-25 Access Co Ltd コンテンツ表示倍率変更方法、およびコンテンツ表示倍率変更プログラム
US20100077304A1 (en) * 2008-09-19 2010-03-25 Microsoft Corporation Virtual Magnification with Interactive Panning
US8887061B2 (en) * 2008-09-26 2014-11-11 Microsoft Corporation Variable screen magnifier user interface
US9395867B2 (en) 2008-10-08 2016-07-19 Blackberry Limited Method and system for displaying an image on an electronic device
JP5470861B2 (ja) * 2009-01-09 2014-04-16 ソニー株式会社 表示装置及び表示方法
US8370736B2 (en) 2009-03-16 2013-02-05 Apple Inc. Methods and graphical user interfaces for editing on a multifunction device with a touch screen display
US20100287493A1 (en) * 2009-05-06 2010-11-11 Cadence Design Systems, Inc. Method and system for viewing and editing an image in a magnified view
WO2011090467A1 (en) * 2009-12-28 2011-07-28 Hillcrest Laboratories Inc. Tv internet browser
US20110173564A1 (en) * 2010-01-13 2011-07-14 Microsoft Corporation Extending view functionality of application
US20110197156A1 (en) * 2010-02-09 2011-08-11 Dynavox Systems, Llc System and method of providing an interactive zoom frame interface
US9804727B2 (en) 2010-03-09 2017-10-31 Freedom Scientific, Inc. Flexible display of visual content on multiple display devices
US20110261081A1 (en) * 2010-04-23 2011-10-27 Weinblatt Lee S Testing of Internet Ads
US9401099B2 (en) 2010-05-11 2016-07-26 AI Squared Dedicated on-screen closed caption display
US8856682B2 (en) * 2010-05-11 2014-10-07 AI Squared Displaying a user interface in a dedicated display area
CN102279772B (zh) * 2010-06-11 2014-10-15 宏达国际电子股份有限公司 软件对象的动态互动方法与电子装置
US8473861B2 (en) * 2010-06-17 2013-06-25 Freedom Scientific, Inc. System wide text viewer
US8296359B2 (en) 2010-07-12 2012-10-23 Opus Medicus, Inc. Systems and methods for networked, in-context, high resolution image viewing
US8667054B2 (en) 2010-07-12 2014-03-04 Opus Medicus, Inc. Systems and methods for networked, in-context, composed, high resolution image viewing
US8804186B2 (en) * 2010-07-13 2014-08-12 Tracer Imaging Llc Automated lenticular photographic system
US9024977B2 (en) 2010-08-02 2015-05-05 International Business Machines Corporation Resizing objects in regions of virtual universes
US8522158B2 (en) 2010-10-19 2013-08-27 Apple Inc. Systems, methods, and computer-readable media for providing a dynamic loupe for displayed information
US20120124514A1 (en) * 2010-11-11 2012-05-17 Microsoft Corporation Presentation focus and tagging
KR101175481B1 (ko) * 2010-11-18 2012-08-20 삼성메디슨 주식회사 확대 영상을 제공하는 초음파 시스템 및 방법
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
JP5881739B2 (ja) 2011-01-03 2016-03-09 フリーダム サイエンティフィック インコーポレイテッド 非一時的コンピュータ可読媒体
DE202011001805U1 (de) 2011-01-22 2011-04-28 Jakob, Gerhard Vergrößerungsglas mit Klemmhalter für mobile Navigationsgeräte
US8933888B2 (en) 2011-03-17 2015-01-13 Intellitact Llc Relative touch user interface enhancements
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9092130B2 (en) 2011-05-31 2015-07-28 Apple Inc. Devices, methods, and graphical user interfaces for document manipulation
KR101834987B1 (ko) * 2011-08-08 2018-03-06 삼성전자주식회사 휴대용 단말기에서 화면 캡쳐를 위한 장치 및 방법
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
CN102521020B (zh) * 2011-10-26 2014-05-21 华为终端有限公司 用于移动终端的应用屏幕截图方法和装置
US9678647B2 (en) * 2012-02-28 2017-06-13 Oracle International Corporation Tooltip feedback for zoom using scroll wheel
EP2850610B1 (en) * 2012-05-18 2020-11-04 BlackBerry Limited Systems and methods to manage zooming
RU2509377C2 (ru) * 2012-06-05 2014-03-10 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ и система и для просмотра изображения на устройстве отображения
DE202012011321U1 (de) 2012-06-21 2013-02-19 Gerhard Jacob Alarmanlage gegen Taschendiebe
WO2014022919A1 (en) * 2012-08-10 2014-02-13 Transaxy Inc. System for entering data into a data processing system
JP2014038560A (ja) * 2012-08-20 2014-02-27 Canon Inc 情報処理装置、情報処理方法及びプログラム
TWI462013B (zh) * 2012-12-10 2014-11-21 Dexin Corp 輸入裝置及其執行顯示畫面放大之方法
KR101416749B1 (ko) * 2012-12-13 2014-07-08 주식회사 케이티 Tv 재생 장치 및 방법
CN103885575B (zh) * 2012-12-19 2017-04-12 宝德科技股份有限公司 输入装置及以输入装置执行显示画面放大的方法
AU350153S (en) * 2013-01-09 2013-08-13 Samsung Electronics Co Ltd Display screen for an electronic device
CN105164628B (zh) * 2013-03-14 2018-11-16 华为技术有限公司 移动设备的透镜触摸图形效果
JP6131072B2 (ja) * 2013-03-14 2017-05-17 シャープ株式会社 表示制御装置
DE202013004567U1 (de) 2013-05-16 2013-07-05 Gerhard Jacob Alarmanlage mit Smartphone, durch App und Empfänger gegen Taschendiebe
SG10201710388RA (en) * 2013-08-09 2018-01-30 Musashi Eng Inc Focus adjustment method and device therefor
US10108317B2 (en) * 2013-10-14 2018-10-23 Schneider Electric Software, Llc Configuring process simulation data for semantic zooming
CN104731492B (zh) * 2013-12-19 2018-07-24 鸿合科技股份有限公司 一种魔术笔及其显示控制方法
KR20150105140A (ko) * 2014-03-07 2015-09-16 삼성전자주식회사 휴대 단말기 및 컨텐츠 확대 표시 방법
US9658713B2 (en) * 2014-09-22 2017-05-23 Intel Corporation Systems, methods, and applications for dynamic input mode selection based on whether an identified operating system includes an application program interface associated with the input mode
TWI583971B (zh) * 2015-01-16 2017-05-21 旺矽科技股份有限公司 檢測設備之操作方法
KR101586321B1 (ko) * 2015-03-11 2016-01-19 엘지전자 주식회사 디스플레이 디바이스 및 그 제어 방법
US20160334974A1 (en) * 2015-05-14 2016-11-17 Gilad GRAY Generating graphical representations of data using multiple rendering conventions
US10275436B2 (en) * 2015-06-01 2019-04-30 Apple Inc. Zoom enhancements to facilitate the use of touch screen devices
JP7006184B2 (ja) * 2017-11-27 2022-01-24 富士通株式会社 制御プログラム、制御方法および制御装置
US11157130B2 (en) * 2018-02-26 2021-10-26 Adobe Inc. Cursor-based resizing for copied image portions
USD857053S1 (en) * 2018-04-12 2019-08-20 Reliance Worldwide Corporation Display screen or portion thereof with animated graphical user interface
USD871432S1 (en) 2018-04-12 2019-12-31 Reliance Worldwide Corporation Display screen or portion thereof with graphical user interface
USD871431S1 (en) 2018-04-12 2019-12-31 Reliance Worldwide Corporation Display screen or portion thereof with graphical user interface
USD875777S1 (en) 2018-05-25 2020-02-18 Apple Inc. Electronic device with animated graphical user interface
JP2018190469A (ja) * 2018-08-22 2018-11-29 キヤノン株式会社 画像形成装置、コンピュータプログラムおよび記録媒体
USD910709S1 (en) 2018-10-26 2021-02-16 Reliance Worldwide Corporation Display screen or portion thereof with graphical user interface
CN110032326A (zh) * 2019-03-29 2019-07-19 网易(杭州)网络有限公司 移动终端显示画面的控制方法、装置、设备和存储介质
US11379113B2 (en) 2019-06-01 2022-07-05 Apple Inc. Techniques for selecting text
CA3087909A1 (en) * 2019-07-24 2021-01-24 Arris Enterprises Llc Magnification enhancement of video for visually impaired viewers
CA3147085A1 (en) * 2019-09-09 2021-03-18 Jason Lock Systems and methods for processing images of slides for digital pathology

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03292524A (ja) * 1990-04-11 1991-12-24 Oki Electric Ind Co Ltd カーソル移動方式
JPH04142661A (ja) * 1990-10-04 1992-05-15 Toshiba Corp 情報処理装置
US5375199A (en) * 1991-06-04 1994-12-20 Digital Equipment Corporation System monitoring method and device including a graphical user interface to view and manipulate system information
JP3597543B2 (ja) * 1992-10-16 2004-12-08 富士写真フイルム株式会社 カーソル制御方法および装置
DE69315969T2 (de) * 1992-12-15 1998-07-30 Sun Microsystems Inc Darstellung von Informationen in einem Anzeigesystem mit transparenten Fenstern
CA2140164A1 (en) * 1994-01-27 1995-07-28 Kenneth R. Robertson System and method for computer cursor control
US5808604A (en) * 1994-03-10 1998-09-15 Microsoft Corporation Apparatus and method for automatically positioning a cursor on a control
JP2776246B2 (ja) * 1994-05-31 1998-07-16 日本電気株式会社 マウスカーソル追従型拡大表示の移動装置
JP3890621B2 (ja) * 1995-04-21 2007-03-07 ソニー株式会社 画像表示装置及び方法
US5808601A (en) * 1995-09-12 1998-09-15 International Business Machines Corporation Interactive object selection pointer method and apparatus
US5754348A (en) * 1996-05-14 1998-05-19 Planetweb, Inc. Method for context-preserving magnification of digital image regions
US6128006A (en) * 1998-03-26 2000-10-03 Immersion Corporation Force feedback mouse wheel and other control wheels
JP2000221874A (ja) * 1999-01-29 2000-08-11 Hitachi Eng Co Ltd 地図表示装置
US7197718B1 (en) * 1999-10-18 2007-03-27 Sharp Laboratories Of America, Inc. Interactive virtual area browser for selecting and rescaling graphical representations of displayed data
JP3345600B2 (ja) * 2000-04-10 2002-11-18 コナミ株式会社 ゲームシステムおよびコンピュータ読取可能な記憶媒体
US7009626B2 (en) * 2000-04-14 2006-03-07 Picsel Technologies Limited Systems and methods for generating visual representations of graphical data and digital document processing
US6704034B1 (en) * 2000-09-28 2004-03-09 International Business Machines Corporation Method and apparatus for providing accessibility through a context sensitive magnifying glass
JP2003050653A (ja) * 2001-07-18 2003-02-21 Internatl Business Mach Corp <Ibm> 入力イベントの発生方法及びその方法を備える情報端末
US8117565B2 (en) * 2001-10-18 2012-02-14 Viaclix, Inc. Digital image magnification for internet appliance
CA2370751A1 (en) * 2002-02-05 2003-08-05 Garth B.D. Shoemaker Fast and accurate rendering of pliable display technology distortions using pre-calculated texel coverages
JP2003287424A (ja) * 2002-03-28 2003-10-10 Mitsubishi Electric Corp ナビゲーション装置および地図情報表示方法
US20030210262A1 (en) * 2002-05-10 2003-11-13 Tripath Imaging, Inc. Video microscopy system and multi-view virtual slide viewer capable of simultaneously acquiring and displaying various digital views of an area of interest located on a microscopic slide
US7009600B2 (en) * 2002-09-19 2006-03-07 International Business Machines Corporation Data processing system display screen including an image alteration area
JP4266158B2 (ja) * 2003-11-28 2009-05-20 株式会社東芝 情報処理装置および表示制御方法
US7429993B2 (en) * 2004-09-17 2008-09-30 Microsoft Corporation Method and system for presenting functionally-transparent, unobtrusive on-screen windows
US7694234B2 (en) * 2005-08-04 2010-04-06 Microsoft Corporation Virtual magnifying glass with on-the fly control functionalities
US7900158B2 (en) * 2005-08-04 2011-03-01 Microsoft Corporation Virtual magnifying glass with intuitive use enhancements
US7949955B2 (en) * 2005-08-04 2011-05-24 Microsoft Corporation Virtual magnifying glass system architecture

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214060A (zh) * 2010-04-12 2011-10-12 宏碁股份有限公司 触控式电子装置及其窗口操控方法
WO2012083563A1 (zh) * 2010-12-24 2012-06-28 天津九安医疗电子股份有限公司 一种血压测量系统
CN102393952A (zh) * 2011-07-01 2012-03-28 深圳市斯尔顿科技有限公司 一种图像放大测量方法及装置
CN103455234A (zh) * 2012-06-01 2013-12-18 腾讯科技(深圳)有限公司 显示应用程序界面的方法及装置
US10558842B2 (en) 2012-07-13 2020-02-11 Sony Corporation Image processing apparatus configured to generate a trail image, image processing method, and image processing system including the same
CN104412304A (zh) * 2012-07-13 2015-03-11 索尼公司 信息处理装置、信息处理方法和信息处理程序
US10936850B2 (en) 2012-07-13 2021-03-02 Sony Corporation Information processing apparatus, information processing method, method, and information processing program
CN104412304B (zh) * 2012-07-13 2018-02-09 索尼公司 信息处理装置、信息处理方法和信息处理程序
CN104731396A (zh) * 2013-12-19 2015-06-24 鸿合科技有限公司 一种魔术笔及其显示控制方法
CN104731396B (zh) * 2013-12-19 2018-03-02 鸿合科技有限公司 一种魔术笔及其显示控制方法
CN103942001A (zh) * 2014-05-12 2014-07-23 上海卓悠网络科技有限公司 一种移动终端的自由截屏方法和移动终端
CN103942001B (zh) * 2014-05-12 2017-02-15 上海卓悠网络科技有限公司 一种移动终端的自由截屏方法和移动终端
CN106604146A (zh) * 2015-10-20 2017-04-26 中兴通讯股份有限公司 机顶盒显示界面放大的方法和装置
WO2017067358A1 (zh) * 2015-10-20 2017-04-27 中兴通讯股份有限公司 机顶盒显示界面放大的方法和装置
CN110874172A (zh) * 2018-08-31 2020-03-10 北京京东尚科信息技术有限公司 放大app界面的方法、装置、介质及电子设备
CN110874172B (zh) * 2018-08-31 2022-09-30 北京京东尚科信息技术有限公司 放大app界面的方法、装置、介质及电子设备
CN110096324A (zh) * 2019-04-22 2019-08-06 四川易简天下科技股份有限公司 一种基于windows系统的自动过滤自身窗口的高效抓屏方法
WO2023060414A1 (en) * 2021-10-12 2023-04-20 Citrix Systems, Inc. Adjustable magnifier for virtual desktop

Also Published As

Publication number Publication date
CA2617318A1 (en) 2007-02-15
KR20080040696A (ko) 2008-05-08
TW200719245A (en) 2007-05-16
CN101238430B (zh) 2010-06-16
JP2009503742A (ja) 2009-01-29
MX2008001616A (es) 2008-02-19
WO2007019193A2 (en) 2007-02-15
JP5130215B2 (ja) 2013-01-30
US7694234B2 (en) 2010-04-06
US20070033544A1 (en) 2007-02-08
EP1910917A2 (en) 2008-04-16
RU2008104025A (ru) 2009-08-10
RU2409856C2 (ru) 2011-01-20
TW201337784A (zh) 2013-09-16
BRPI0614901A2 (pt) 2011-04-19
NO20080374L (no) 2008-02-27
WO2007019193A3 (en) 2008-01-03
US20100235736A1 (en) 2010-09-16

Similar Documents

Publication Publication Date Title
CN101238430B (zh) 具有运行时控制功能的虚拟放大镜
US7949955B2 (en) Virtual magnifying glass system architecture
US7274377B2 (en) Viewport panning feedback system
US7712046B2 (en) Virtual magnifying glass with intuitive use enhancements
CN101192131B (zh) 处理桌面背景的方法、装置及操作系统桌面的界面系统
US7779475B2 (en) Software-based method for gaining privacy by affecting the screen of a computing device
US20200057555A1 (en) Devices, Methods, and Graphical User Interfaces for Navigating Between User Interfaces, Displaying a Dock, and Displaying System User Interface Elements
US5815151A (en) Graphical user interface
EP0727730B1 (en) Method for improving visibility and selectability of icons
JP2759700B2 (ja) イメージ・エディタを作動する方法
US7916157B1 (en) System and methods for selective zoom response behavior
RU2407992C2 (ru) Усовершенствованный терминал мобильной связи и способ
US7362341B2 (en) System and method for customizing the visual layout of screen display areas
US6476831B1 (en) Visual scrolling feedback and method of achieving the same
US6501464B1 (en) On-screen transparent keyboard interface
US5917486A (en) System and method for client program control of a computer display cursor
US8887061B2 (en) Variable screen magnifier user interface
US11797150B2 (en) Devices, methods, and graphical user interfaces for navigating between user interfaces, displaying a dock, and displaying system user interface elements
US6396487B1 (en) User interface enhancement for windows-based operating systems
JPH06301505A (ja) コンピュータ制御ディスプレイ・システム
KR19990087910A (ko) 관련되지않은윈도들간의연합상호작용
US20240045564A1 (en) Devices, Methods, and Graphical User Interfaces for Navigating Between User Interfaces, Displaying a Dock, and Displaying System User Interface Elements
US7212210B2 (en) Method and apparatus for enlarging an output display on a display
Agarwal et al. WidgetLens: A system for adaptive content magnification of widgets

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100616

Termination date: 20140802

EXPY Termination of patent right or utility model