详细描述
I.系统概览
在此描述的特征包括一种启用图标缩放以增强用户体验的方法和系统。图标缩放能让用户在诸如Microsoft Windows Explorer之类的文件管理系统内将图标的尺寸调整为从适用于在长项目列表中查看的小尺寸直至适用于在单个视图内查看少量缩略图的非常大的尺寸的范围内的任何尺寸。在调整图标尺寸时,该图标的外观和布局可以改变以最佳地适应其新尺寸。
图2示出了图标缩放模块200。图标缩放模块200可以被实现为如下参考图1所述的计算机化环境中的一个或多个程序模块。图标缩放模块200可以包括资源选择模块210、覆盖图选择模块220、类型选择模块230、标签放置模块240和用户缩放模块250。通过用户缩放模块250,用户能够选择图标尺寸。基于用户缩放选择,类型选择模块230可以选择诸如缩略图或传统图标等图标类型。资源选择模块210也可以基于缩放选择来选择一特定的图像资源以便进行缩放。类似地,在某些方面,覆盖图选择模块220可以基于缩放选择来选择、缩放和/或定位状态覆盖图和/或类型覆盖图,并且标签放置模块240可以基于缩放选择来确定与该图标相关联的标签的合适位置。
图标可以使用诸如16 x 16像素和32 x 32像素之类的一组预定尺寸来创作。当用户选择用并非预定尺寸之一的尺寸来查看图标时,缩放模块200可以进行内插以确定向用户显示什么图像。当图标尺寸改变时,包括图标类型、图像资源、标签放置和/或覆盖图配置的各变量会如此所述受到影响。
II.示例性操作环境
图1示出了可在其上实现在此描述的各特征的合适的计算系统环境100的示例。计算系统环境100仅为合适的计算环境的一个示例,并非对在此描述各特征的使用范围或功能提出任何局限。也不应将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合具有任何依赖或需求。
在此描述的各特征在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等等。各特征可由其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子品、小型机、大型计算机等。各特征也可以在分布式计算环境中实现,其中任务由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
参考图1,示例性系统100可包括计算机110形式的通用计算设备,它可包括处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。
计算机110可以包括各种计算机可读介质。作为示例但非限制,计算机可读介质可以包括计算机存储介质和通信介质。系统存储器130包括形式为易失性和/或非易失性存储器的计算机存储介质,譬如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)一般存储在ROM 131内,它包含例如在启动期间帮助在计算机110内的元件间传输信息的基本例程。RAM 132通常包含处理单元120立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图1示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器141,对可移动、非易失性磁盘152进行读写的磁盘驱动器151,以及对可移动、非易失性光盘156,如CD ROM或其它光介质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141可以通过如接口140这样的不可移动存储器接口与系统总线121相连,且磁盘驱动器151和光盘驱动器155可以用如接口150这样的可移动存储器接口与系统总线121相连。
上面讨论并在图1中示出的驱动器及其相关联的计算机存储介质为计算机110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里为操作系统144、应用程序145、其它程序模块146和程序数据147给出不同标号以说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘162和定点设备161(通常指鼠标、跟踪球或触摸垫)向计算机110输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备可由耦合至系统总线的用户输入接口160连接至处理单元120,但也可由其它接口或总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。监视器191或其它类型的显示设备也经由接口,诸如视频接口190连接至系统总线121。除了监视器之外,计算机还可以包括其它外围输出设备,如扬声器197和打印机196,它们可以通过输出外围接口190连接。
计算机110可以使用到一个或多个远程计算机,如远程计算机180的逻辑连接在网络化环境中操作。远程计算机180可以是个人计算机,并通常包括许多或所有相对于计算机110所描述的元件,尽管在图1中仅示出了存储器存储设备181。图1中所示的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于通过WAN 173,如因特网建立通信的其它装置。调制解调器172可以是内置或外置的,它可以通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图1示出远程应用程序185驻留在存储器设备181上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它手段。
虽然未示出计算机100的许多其他的内部组件,但是本领域普通技术人员将会认识到这些组件和互连是公知的。
III.样本图标
图3A-3G示出了各种尺寸的图标的取样。图3A示出了文档图标302、304、306、308、310、312、314、316和318的取样。文档图标302、304、306、308、310和312各自包括相应的文档图像302a、304a、306a、308a、310a和312a。上述文档图标中的每一个另外还包括类型覆盖图302b、304b、306b、308b、310b和312b。这些类型覆盖图指示底层文档的类型(例如,文字处理文件、图片文件、视频文件、音频文件、电子数据表等)。文档图标302被示为具有256 x 256像素的总图标尺寸以及60 x 60像素的类型覆盖图部分。图像和覆盖图可以彼此独立地缩放,以使得图像304a在图像302a和306a之间缩放,而覆盖图304b在覆盖图302b和306b之间缩放。在所描绘的示例中,文档图标306是下一个可用的文档大小。图标306的总尺寸是128 x 128像素,而覆盖图部分是32 x 32像素。文档图标304是在标准尺寸图标302和306之间缩放的图标。类似地,文档图标308在文档图标306和文档图标310之间缩放,其包括64 x 64的总图标尺寸以及18 x 18像素的覆盖图部分310b。文档图标314是仅包括覆盖图部分的32 x 32像素的图标,因为其尺寸太小而无法同时清楚显示覆盖图和文档图像。在文档图标310和314之间缩放的文档图标312同时示出了文档图像部分312a和类型覆盖图部分312b。更小的图标316和318都仅示出了项目的类型覆盖图部分。相应的类型覆盖图指示了文档的类型,诸如MICROSOFT WORDTM文档。可以提供许多尺寸的文档图标,包括16 x16、24 x 24、32 x 32、48 x 48、128 x 128和256 x 256像素。可选地,可以省略这些尺寸中的一部分和/或可以包括其它尺寸。
图3B示出了一组MICROSOFT POWERPOINTTM图标320、322、324、326和328。图标320、322和324包括图像部分320a、322a和324a。图标320、322和324还包括覆盖图部分320b、322b和324b。图标326和328太小而无法同时显示两部分。因此,这些图标仅包括缩略图图像。可以在每一类型的基础上做出显示缩略图图像还是覆盖图的决定。
图3C也包括一组图标330、332、334、336和338。图标330、332和334包括相应的图像部分330a、332a和334a以及指示该文档为.mht文档的覆盖图部分330b、332b和334b。图标336和338太小而无法同时充分显示两部分,因此仅包括指示底层文档的类型的类型覆盖图部分。
图3D示出了多个缩放的照片图标340、342、344、346和348。这些图标优选地是包括来自底层文件内的照片的缩略图图标。示出的缩略图图标显示有用的信息并且不包括覆盖图部分。
图3E示出了一组视频图标350、352、354、356和358。图标350、352和354各自包括相应的图像部分350a、352a和354a。所包括的图像可以是缩略图图像。图标350、352和354各自还可包括相应的类型覆盖图部分350b、352b和354b。图标356和358仅包括可以是缩略图图像的图像部分,因为这些图标太小而无法包括两部分。
图3F示出了一组联系人图标360、362、364、366、368和370。图标360和362各自包括可以是缩略图图像的相应的图像部分360b和362b,以及相应的信息部分360a和362a。图标364、366和368仅包括图像部分,因为这些图标太小而无法同时显示图像和信息部分。图标370示出了如果缩略图图像不可用则会示出的通用图像。
图3G示出了可在该联系人无照片可用时使用的通用联系人图标372。图标372包括通用图像372b和信息部分372a。
IV.覆盖图
如前所述,不同的图标尺寸还可以包括不同的覆盖图尺寸。如前参考图2所述,覆盖图的选择和放置可以基于用户选择的缩放。覆盖图选择模块220基于用户缩放输入来确定覆盖图配置。
两种覆盖图包括状态覆盖图和类型覆盖图。关于图3A-G示出的覆盖图是指示类型的类型覆盖图。类型覆盖图可用于缩略图图标以传达缩略图图像所描绘的对象是何类型。类型覆盖图在图像的右下角出现。状态覆盖图用作视觉线索以帮助用户快速标识有关正查看项目的某些相关信息片段。状态覆盖图可以在图像的左下角出现。
状态覆盖图的一种用途是警告用户其期望进行动作的文件的过渡或临时状态。一个示例可以是将“新”覆盖图放在最近刚创建的文件上。对状态覆盖图的另一可能用途是指示用户可能期望进行动作的相关上下文敏感信息。一个示例可以是将“错误”覆盖图放在下载管理器内无法完成下载的文件上。一般而言,通过状态覆盖图传达的信息应当也是可用于排序、分组、堆叠、过滤和搜索的属性。
表1 描述了可显示在不同尺寸的图标上的尺寸覆盖图。
图标尺寸 |
对应的覆盖图尺寸 |
256 x 256 |
48 x 48 |
128 x 128 |
32 x 32 |
48 x 48 |
24 x 24 |
32 x 32 |
16 x 16 |
16 x 16 |
8 x 8 |
表1
覆盖图可以相对于图标独立缩放。在诸如256 x 256、128 x 128、64 x 64、32 x32、和16 x 16等每一定义的图标抓取尺寸(snap size)之间,覆盖图可以线性地在两个覆盖图尺寸之间缩放。图10A示出了表2,该表示出覆盖图尺寸与沿一连续范围的图标尺寸之间的关系的一个实施例。图10B示出了表7,该表示出覆盖图尺寸与沿一连续范围的图标尺寸之间的关系的另一实施例。本领域普通技术人员将会认识到表2和表7仅仅是说明性的,并且也可以使用其他值和尺寸。
V.图标类型和布局
图4示出了包括图标图像401和状态覆盖图402的传统图标400。图标图像401可作为位图存储或者可被动态生成。状态覆盖图402用于传达有关项目的状态信息。状态覆盖图也可被动态生成或者可作为位图存储。在所显示的实施例中,图标图像401具有宽度=高度=X的尺寸。在某些方面,状态覆盖图402被绘制在该图像的左下角,以使得覆盖图402的底边与图标400的底边对齐,而覆盖图402的左边与图标400的左边对齐。替换地,布局也可以被不同地配置。
图5示出了用于缩略图图标的可能布局。行500示出了底部对齐的缩略图图标540和550。行530示出了居中对齐的缩略图图标540和550。底部对齐的缩略图图标510包括图像部分512、状态覆盖图514和类型覆盖图516。底部对齐的缩略图图标520包括图像部分522、状态覆盖图524和类型覆盖图526。缩略图图标540包括图像部分542、状态覆盖图544和类型覆盖图546。缩略图图标550包括图像部分552、状态覆盖图554和类型覆盖图556。一般而言,每个图标内的图像由(A)表示,状态覆盖图由(B)表示,而类型覆盖图则由(C)表示。缩略图图标本身是长宽皆等于X的正方形。缩放缩略图图像(A)以使其最长的维度几乎等于X。
如图5中所示,在所有显示的配置中,缩略图图像(A)被绘制为在缩略图图标内水平居中。缩略图图像(A)的垂直放置可由视图类型来确定。如果当前视图具有放置在图标下的文本标签,则该缩略图图像(A)的底边将沿着缩略图图标的底边。如果当前视图具有放置在图标一侧的文本标签,则缩略图图像(A)可以在缩略图图标内垂直居中。
状态覆盖图(B)的放置取决于缩略图图像(A)在缩略图图标内的放置。所描绘的状态覆盖图(B)配合在缩略图图标的边界内。水平地,状态覆盖图(B)可围绕缩略图图像(A)的左边居中,但是可以在需要时移至右边,以避免延伸超过缩略图图标本身的左边界。
类型覆盖图(C)的放置可取决于缩略图图像(A)在缩略图图标内的放置。垂直地,类似于状态覆盖图(B),类型覆盖图(C)的底边可以沿着缩略图图像的底边,以使得类型覆盖图(C)在缩略图图像(A)为底部对齐时配合在缩略图图标的边界内。水平地,类似于状态覆盖图(B)的镜像,类型覆盖图(C)可围绕缩略图图像(A)的右边居中,但是可以在需要时移至左边,以避免延伸超过缩略图图标本身的右边界。
对于某些预先定义的图标尺寸,诸如在16 x 16和47 x 47像素之间的图标,标签放置模块240可以将文件名定位在图标旁边。例如,对于尺寸32 x 32至47,标签放置模块240可以在图标旁提供额外的平铺信息。对于尺寸48 x 48和更大尺寸,标签放置模块240可以在图标下放置文件名。
在默认模式下,类型覆盖图当且仅当缩略图图标位于文档库内时可被示出在该缩略图图标上。在某些情况中,类型覆盖图将不默认地在照片或视频上示出。视图选项的设置可用于使得用户能够打开或关闭文档上的类型覆盖图。可以提供诸如应用程序接口(API)等机制,从而允许应用程序将一类型覆盖图与其拥有的每一文件类型相关联。
VI.视觉增强
图6A-6C示出了可应用于缩略图图标的视觉增强。存在可被应用于缩略图图像的各种类型的视觉处理,并且这些处理中的一部分可以进一步缩小图像。
图6A示出了缩略图图像600和类型覆盖图602。应用边框604并且该图标可被注册以接收这一处理。例如,MICROSOFT WORDTM文档可被注册以对其应用该处理。边框可以单独地应用于缩略图图像600而不是应用于缩略图图标的整个边界框。
图6B示出了具有相纸边框612的缩略图图像610。相纸边框612可以在底层文件是“图像”类型并且图标尺寸符合要求的情况下被应用于缩略图。相纸边框可以在缩略图图像是图像类型并且是诸如256、128、48或32像素等合适的预定尺寸的情况下应用于该缩略图。在此示例中,不对尺寸16应用相纸边框。
表3 描绘了在此示例中每个缩略图图标尺寸下的相纸边框宽度。
图标尺寸 |
相纸边框宽度 |
256 |
5 |
128 |
3 |
48 |
2 |
32 |
1 |
16 |
无相纸边框 |
表3
宽度可以与表2所示的覆盖图类似的方式在显示尺寸之间内插。
图6C示出了具有输片齿轮622的缩略图图像620和类型覆盖图624。输片齿轮可应用缩略图图像620以传达其是影片类型。输片齿轮包括沿着缩略图图像620顶部和底部放置的两个图像以使其看上去象是一段胶片带。一对输片齿轮可在其是认识到的视频类型并且该缩略图图标尺寸是诸如256、128、48或32像素等预定尺寸的情况下应用于该缩略图图像。同样在此示例中,不对尺寸16应用输片齿轮。
表4 描绘了在此示例中每个缩略图图标尺寸下的输片齿轮尺寸。
256 |
18 |
128 |
10 |
48 |
6 |
32 |
4 |
16 |
无输片齿轮。 |
表4
可以放置顶部输片齿轮以使其底部边对齐缩略图图像的顶边,并且可以放置底部输片齿轮以使其顶边对齐缩略图图像的底边。如果缩略图图像的高度大到足以使得带有输片齿轮的缩略图图像高于X像素,则两个输片齿轮就被移得更靠近彼此。顶部输片齿轮可以下移且底部输片齿轮可以上移,直到带有所应用的输片齿轮的缩略图图像不再高于X。
其他效果可包括可应用于缩略图图像以使其更为吸引人的渐变效果。此外,发光效果可以在该对象类型已被注册来接收这一处理的情况下应用于缩略图图像。例如,POWERPOINTTM类型可被注册以对其应用的这一处理。缩略图图标还可以包括下阴影效果或其他视觉效果。
VII.使用缩放机制
如前所述并且如图2所示,用户缩放模块250接收进行缩放的用户输入。图7示出了用于允许用户缩放图标的用户缩放。用户可以将图标缩放至某些预定尺寸,诸如在16 x 16和256 x 256像素之间。可以在视图窗格内提供图标尺寸滑块702。视图模式控件700允许用户在图标模式和详细信息模式之间切换。用户可以移动图标滑块702以调整图标尺寸。图标尺寸滑块702可以在尺寸16、32、48、128和256附近具有抓取点。如果滑动控件指示尺寸在抓取尺寸之一的几个像素内,则图标将抓取至该尺寸。在某些方面,如果滑块控件在抓取尺寸的任一方向上的四个像素内,则所选图标将被设置在该抓取尺寸处。
此外,视图菜单可以具有标签为“图标尺寸”的项目,其下将跟随出现子菜单的选择:对应于诸如16、32、48、128和256等图标尺寸的微小、小、中、大和巨大或者类似的选择。例如,视图菜单可以是列出可选项的下拉菜单,并且列出的菜单选项可以通过点击、右击等来选择。
最后,用户能够使用可在许多鼠标上找到的滚轮来缩放图标。在按下CTRL键的同时向前移动滚轮将增大图标的尺寸,而在按下CTRL键的同时向后移动滚轮将减小图标的尺寸。
若没有用户缩放,则图标可以具有默认尺寸。以下的表5描绘了各个文件夹位置内的图标的默认尺寸。
位置 |
默认图标尺寸 |
默认详细信息尺寸 |
文档库 |
48 |
16 |
照片/视频库 |
128 |
16 |
音乐/收音机库 |
48 |
16 |
联系人库 |
48 |
48 |
表5
如果用户选择要求图标在抓取尺寸间缩放,则系统就利用一缩放机制,该机制包括用于将图标转换成诸如DX9纹理等合适格式的机制。硬件加速缩放机制可以实现双线性滤波器获取其他已知机制用以在维持图像的视觉保真度的同时执行实际的图标缩放。缩放可通过图标缩放系统200实时进行。实时缩放可以在绘制时间或可选地在其他时间进行。
VIII.类型选择过程
图8示出了由图2所示的类型选择模块230实现的用以在用户已如上参考图7所述地选择了一特定图标尺寸之后确定应该使用哪一图标类型的过程的流程图。如上有关图2所述,对缩略图图标或传统图标的选择通常取决于用户的缩放选择。
在步骤A02处,系统将图标尺寸与预设尺寸截止点(cutoff)相比较。如果在步骤A04处图标尺寸在预设尺寸截止点之上,则在步骤A10处,系统寻找缩略图图标。如果在步骤A04处图标尺寸不在该尺寸截止点之上,则在步骤A14处,系统选择并示出传统项目。
在步骤A10处,系统寻找缩略图图标。如果在步骤A12处缩略图图标未被高速缓存,则在步骤A06处,系统试图提取该缩略图图标。如果在步骤A12处缩略图图标未被高速缓存,或者如果在步骤A08处提取成功,则在步骤A16处,系统选择并示出缩略图图标。如果在步骤A08处提取不成功,则在步骤A14处,系统选择并示出传统图标。
示例性的图标尺寸截止点如下表6所示。
认识的项目类型 |
缩略图/图标截止点 |
文档 |
32 |
文件夹 |
32 |
图片 |
总是缩略图 |
视频 |
总是缩略图 |
栈(照片演示(Phodeo)) |
总是缩略图 |
歌曲 |
总是缩略图 |
栈(专辑) |
总是缩略图 |
栈(艺术家) |
总是缩略图 |
人 |
总是缩略图 |
组 |
总是缩略图 |
设备 |
总是缩略图 |
因特网快捷方式 |
16 |
表6
IX.资源选择和缩放过程
图9示出了在用户已缩放了所选图标之后由图2所示资源选择模块210来选择图像资源的过程。
如前所述,系统可提供图像抓取尺寸。尺寸例如可以包括16、32、48、128和256像素。对于任何尺寸X下的每个项目Y,该系统可以选择对Y最佳的可用尺寸下的图像。在步骤B02处,系统搜索合适尺寸的图像X。如果在步骤B04处X是抓取尺寸并且用于Y的图像在尺寸X下可用,则在步骤B20处,系统使用尺寸X下的可用图像。如果在步骤B04处用于Y的图像在尺寸X下不可用,则在步骤B06处,系统确定是否搜索最大尺寸。如果在步骤B06处未搜索到最大尺寸,则在步骤B08处,系统搜索次大尺寸。如果在步骤B10处该次大图像可用,则在步骤B20处,系统使用该可用图标。如果在步骤B10处该图像不可用,则系统继续搜索直到搜索到最大的图像。
随后在步骤B12处,如果对表示Y的较大图像的搜索不成功,则系统确定是否已搜索了最小尺寸。如果最小尺寸未被搜索到,则在步骤B 14处,系统继续搜索次小尺寸。如果在步骤B16处该图像可用,则在步骤B20处,系统使用该图像。如果在步骤B12处该图标不可用并且已搜索到最小尺寸,则在步骤B18处,系统使用通用图像。当且仅当无法找出任何尺寸的图像时,该系统将示出通用图像。虽然以上过程被描述为在较小图像之前考虑较大图像,但是也包括相反的过程。
如果用户选择要求图像在抓取尺寸间缩放,则系统利用一缩放机制,该机制包括用于将图像转换成诸如DX9纹理等合适格式的机制。硬件加速缩放机制可以实现例如fant滤波器等双线性、双三次或者更高质量的滤波器,以执行实际的图像缩放。除了缩放检索到的图像之外,该系统还试图在正确尺寸下重新提取。该系统使用其在过渡时段内能够找到的最接近的存储的图像。一旦系统重新提取,它就显示正确尺寸的图像,并且还将新的正确尺寸的图像存入高速缓存以供后续检索。这一提取、显示、存入高速缓存的序列也在高速缓存为空的情况下出现,并首先显示传统图标。
X.覆盖图选择
如上所述,覆盖图选择模块220(图2)确定连同每个缩略图图标显示什么类型的覆盖图。覆盖图选择模块220可以使用各种方法和机制中任何一种来确定将哪一类型的覆盖图放置在图标上。例如,一单独的文件可以指定要使用的类型覆盖图(或者不应使用任何类型覆盖图),该类型覆盖图可基于文件类型对应于的应用程序(该对应的应用程序指定要使用的类型覆盖图)来选择,该覆盖图选择模块可以使用对应的应用程序图标的变体作为类型覆盖图(例如,以缩小的尺寸),或者覆盖图选择模块可以选择默认类型覆盖图(或根本不选)。覆盖图选择模块可以确定类型覆盖图用于第一风格的文件类型(例如,诸如.doc、.xls等的数据文件),但不用于第二风格的文件类型(例如,诸如.GIF、.gif、.jpg、.png、.bmp、.mpg、.wav、.avi等的多媒体文件)。
根据其中文件类型为多义的另一特征,覆盖图选择模块可以分析文件的内容(和/或元数据)以确定要使用哪一类型覆盖图。例如,文件类型.mht是多义扩展,因为它没有唯一地标识用来创建它的应用程序。.mht文件指的是可由多种应用程序创建并编辑的多媒体HTML文件(例如,
文字处理程序和
电子表格各自可以创建并编辑.mht文件)。此外,无论被哪个应用程序最初创建.mht文件,该应用程序通常最适于在需要时对该.mht文件的后续编辑。覆盖图选择模块220于是可以分析该文件,或者使该文件由另一合适的模块来分析,并且基于分析结果选择类型覆盖图。例如,如果对.mht文件的分析揭示
用于创建该.mht文件或者该.mht文件含有电子表格数据,则就可使用第一类型覆盖图。例如,如果对.mht文件的分析揭示
用于创建该.mht文件或者该.mht文件含有文字处理数据,则就可使用第二类型覆盖图。本领域普通技术人员将会认识到这只是多义文件类型的一个示例,并且也可分析其他文件类型。
根据另一特征,类型覆盖图被动画播放。在此情况下,覆盖图选择模块可以动画播放该类型覆盖图或者使该类型覆盖图看上去象被动画播放(例如,指示另一软件模块(未示出)动画播放该类型覆盖图)。
图11示出了根据在此描述的各说明性特征的用来选择类型覆盖图的方法。在步骤1101处,覆盖图选择模块220确定文件本身是否含有或者涉及用于确定与该文件相对应的缩略图图标的类型覆盖图的指令。如果是,则在步骤1103,覆盖图选择模块分析这些指令。例如,文件可以包括指示应使用特定类型覆盖图而不考虑该文件所对应的应用程序,或者可指示没有文件类型覆盖图应被使用的指令。在步骤1105处,覆盖图选择模块显示由各指令所标识的类型覆盖图(如果有的话)。
在步骤1107处,覆盖图选择模块220确定图标所对应的底层文件的文件类型(例如,扩展名)是否是多义的。如果是,则在步骤1109处,系统例如通过检查其内容或与该文件相关联的元数据来分析该文件。在步骤1111处,覆盖图选择模块220基于这一分析来显示类型覆盖图。
在步骤1113处,覆盖图选择模块220确定该文件是否与一应用程序相关联或相对应。如果是,则在步骤1115处,覆盖图选择模块220确定该应用程序是否指示要使用的类型覆盖图。如果该应用程序的确指定了一类型覆盖图,则在步骤1117处显示该类型覆盖图。如果该应用程序没有指定类型覆盖图,则在步骤1119处,覆盖图选择模块可例如图6A所示显示应用程序图标的变体作为用于该文件的图标的类型覆盖图(例如,应用程序图标的缩小尺寸的形式)。
在步骤1121处,覆盖图选择模块220例如通过确定该文件是否具有识别或已知的扩展名来确定该文件类型是否是已知的文件类型。如果该文件是已知的文件类型,则在步骤1123处,覆盖图选择模块显示对应于该文件类型的类型覆盖图。如果该文件是未知文件类型,则在步骤1125处,覆盖图选择模块可以显示包括完全无类型覆盖图的显示的默认类型覆盖图。
本领域普通技术人员将会认识到图11的方法示出了可被使用的一组试探,并且可以基于上述特征来使用修改的或不同的试探。可以修改这些步骤以与所述顺序不同的顺序执行,并且还可以使用额外的或者不同的步骤。
使用在此所述的动态分配的类型覆盖图允许用户即使在由缩略图(可能是多义的)表示的情况下仍可识别项目的类型。覆盖图选择模块(或者在某些其他级别处的操作系统)可以展示应用程序编程接口(API)以允许开发人员指定该类型覆盖图是否应被用于缩略图图标,并且如果是,则指定应使用什么类型覆盖图。此外,用户可定义设置可以指示类型覆盖图应该为所有的文件全局关闭(或打开)。
此外,虽然以上讨论解决类型覆盖图的问题,但是相同的方法也可用于标识对象的任何特性的覆盖图。例如,覆盖图可用于传达其他的特性,诸如文件大小、文件时效、最后编辑时间、文件所有者、项目关联等。类型覆盖图可基于用户偏好而被限于用于某些特定的文件类型。例如,用户或操作系统可以指定仅对不是本机图像文件类型的文件使用类型覆盖图的设置。即,JPG、GIF、TIF、BMP等类型的文件是本机图像文件类型,并且通常一个应用程序可以打开和管理它们的全部。于是,类型覆盖图能够可任选地不再在这些文件的缩略图图标中使用。非本机图像文件类型可以包括DOC、XLS、PPT以及不是固有地涉及图像、照片等的其他文档。
XI.结论
于是,图标缩放使用户能够能够取决于用户偏好将图标尺寸调整为从小尺寸到极大尺寸的范围内的任何尺寸。在调整图标尺寸时,该图标的外观和该图标的布局改变以最佳地适应其新尺寸。
用户能够实时地在连续的可能尺寸范围内缩放图标,并且缩放在视觉上是吸引人的。缩略图图标可以一致地传达其表示的对象是何类型(例如,Word文档、PowerPoint卡片组、视频剪辑等),即使在缩略图提取器是由ISV编写的情况下也是如此。覆盖图可以按一种一致且可靠的方式用作传达有关项目的某些信息的视觉线索。
虽然已在此详细示出并描述了具体特征,但是应该理解也可做出各种改变和修改而不背离在此描述的范围和意图。在此描述的特征在所有方面都旨在说明性而非选择性的。各种替换对本领域普通技术人员是显而易见的。例如,以上描述的缩放过程在放大和缩小图标尺寸时可以同样良好地工作。
从前述内容可知,在此描述的各特征很好地适用于实现前述的部分或所有目的和目标。也将理解可以利用特定的特征和子组合而无需参考其他特征和子组合。例如,可以按需重排和/或省略上述过程中的各步骤。于是,本发明的精神和范围应如所附权利要求中阐明的那样被广义地解释。