用于修剪和拉直图像的用户界面工具的制作方法
【专利摘要】本发明公开数字图形设计和图像编辑应用程序(在下文中统称为图像编辑应用程序),这些图像编辑应用程序向图形设计人员、媒体艺术家和其他用户提供查看和编辑图像的必要工具。此类应用程序的例子是:由Google提供的Picasa、由Adobe提供的Photoshop、由Microsoft提供的Express Media等。这些应用程序给予用户以多种方式编辑图像的能力。随着移动设备(诸如平板电脑和智能手机)的发展,这些应用程序的实用性已扩展至这些设备。然而,许多图像编辑应用程序适于像台式计算机和服务器的固定式设备,并且并不向用户提供可在移动设备上享受到的一些方便特征。
【专利说明】用于修剪和拉直图像的用户界面工具
【背景技术】
[0001] 数字图形设计和图像编辑应用程序(在下文中统称为图像编辑应用程序)向图 形设计人员、媒体艺术家和其他用户提供查看和编辑图像的必要工具。此类应用程序的例 子是:由 Google 提供的 Picasa、由 Adobe 提供的 Photoshop、由 Microsoft 提供的 Express Media等。这些应用程序给予用户以多种方式编辑图像的能力。
[0002] 随着移动设备(诸如平板电脑和智能手机)的发展,这些应用程序的实用性已扩 展至这些设备。然而,许多图像编辑应用程序适于像台式计算机和服务器的固定式设备,并 且并不向用户提供可在移动设备上享受到的一些方便特征。
【发明内容】
[0003] -些实施例提供带有用以编辑图像的修剪和拉直工具的图像编辑应用程序。修剪 和拉直工具向用户提供可旋转用户界面(UI)项目。用户可使这个可旋转UI项目朝特定方 向(顺时针或逆时针)旋转,并且因此,该工具使所显示图像朝该特定方向旋转。以此方式, 用户可通过使可旋转Π 项目旋转来拉直所显示图像。
[0004] 在一些实施例中,当使可旋转UI项目旋转时,图像编辑应用程序播放声音以提供 指示正在使可旋转Π 项目旋转的可听指示。一些实施例中的图像编辑应用程序回放的声 音是机械转盘在该机械转盘旋转时所发出的声音。
[0005] 在一些实施例中,可旋转UI项目还包括该可旋转UI项目上的一组标记。标记用 于指示可旋转UI项目已经旋转的旋转量。在一些实施例中,固定式旋钮所指向的标记指示 可旋转UI项目已经旋转的旋转量。
[0006] 在一些实施例中,在使图像相对于显示区域的边缘旋转时,图像编辑应用程序缩 放和/或修剪图像,以便显示该图像尽可能多的部分,同时避免在显示区域中显示图像外 的区域。在一些情况下,当已经缩放显示区域时,图像编辑应用程序并不在显示图像旋转时 进行缩放。在这些情况下,图像外的区域将会显示在显示区域中。
[0007] 修剪和拉直工具允许用户以若干不同方式使可旋转Π 项目旋转。用户可通过触 摸并且拖拽可旋转Π 项目来使用户界面项目旋转。在一些实施例中,工具还允许用户通过 移动图像编辑应用程序在其上执行的设备来使可旋转UI项目旋转。在这些实施例中,该设 备包括能够检测并且测量设备的移动的组件。图像编辑应用程序在移动设备之前从该组件 接收取向值并记录该值。在正在移动设备时,图像编辑应用程序保持从该组件接收取向值。 图像编辑应用程序基于所记录取向值与最新取向值之间的差值来计算要使可旋转Π 项目 旋转的量。
[0008] 用户还可通过在所显示图像上执行旋转多点触摸手势来使可旋转Π 项目旋转。 当用户做出超过旋转阈值量的旋转多点触摸手势时,修剪和拉直工具基于旋转多点触摸手 势来使可旋转Π 项目和所显示图像旋转。
[0009] 在一些实施例中,除了可旋转Π 项目之外,修剪和拉直工具另外提供一组Π 项 目。在一些实施例中,该组Π 项目用于使用水平线来使可旋转Π 项目旋转并且拉直所显示 图像。在这些实施例中,修剪和拉直工具检测图像的水平线并且在图像中显示水平线。响 应于接收到对该组Π 项目中的一个Π 项目的选择,该工具通过使水平线和图像处于同一 水平来使可旋转UI项目旋转并且拉直图像。响应于接收到对该组UI项目中的另一个UI 项目的选择,该工具移除水平线和该组Π 项目而不会使可旋转Π 项目旋转或拉直图像。
[0010] 修剪和拉直工具允许用户以若干不同方式来修剪图像。用户可拖拽图像的边缘或 拐角来对图像进行修剪。当用户朝图像的中心拖拽图像的边缘或拐角时,修剪和拉直工具 将图像在图像的边缘或拐角外的部分修剪掉。在这样一些实施例中,在正在拖拽图像的边 缘或拐角时,修剪和拉直工具保持图像在被修剪之前的纵横比。在一些实施例中,用户可放 大图像,并且修剪和拉直工具裁减掉图像因放大该图像而落在显示区域外的部分。
[0011] 一些实施例提供一种带有用于对所显示图像中的所选择区域施加效果的效果工 具的图像编辑应用程序。在一些实施例中,效果工具允许用户通过用手指或等同输入装置 摩擦图像来选择图像中要施加效果的区域。对于一些效果,无论图像中的区域被摩擦的次 数如何,效果工具都会对图像中的所选择区域施加效果。此类效果包括瑕疵去除效果和红 眼去除效果。对于一些其他效果,效果工具基于用户摩擦图像中区域的次数递增地对所选 择区域施加效果。此类效果包括饱和、去饱和、亮化、暗化、锐化、柔化等。
[0012] 在一些实施例中,效果工具指定给图像的每个像素以掩码值。效果工具使用掩码 值来处理图像的像素。对于效果工具递增地对图像中的所选择区域施加的效果,效果工具 改变指定给所选择区域中的每个像素的掩码值,以便调节在每次触摸区域时对该区域施加 的效果的量。
[0013] 在一些实施例中,在每次触摸区域时,效果工具对区域施加不同的效果的量。也就 是说,效果工具在第一次触摸区域时对该区域施加的效果的量不同于效果工具在第二次触 摸该区域时对该区域施加的效果的量。在一些实施例中,效果工具对区域施加的效果的量 是触摸该区域的次数的函数。该函数可以是线性的、非线性的,或线性函数和非线性函数的 组合。
[0014] 在一些实施例中,效果工具选择性地对图像中所选择区域中的像素的子集施加效 果。效果工具基于该图像中的区域中的一组像素的图像属性来识别一组准则。效果工具使 用该准则来识别带有类似属性的像素。效果工具仅对满足所识别的一组准则的那些像素施 加效果。以此方式,效果工具仅对该图像中类似组的像素施加效果,并且使该图像中的区域 中的其他像素原封不动。
[0015] 在一些实施例中,效果工具允许恒定大小的触摸。也就是说,当用户触摸所显示图 像中的位置时,效果工具对位于与该位置相距一定距离内的像素施加效果。这个距离相对 于其中显示图像的显示区域的大小是恒定的。为允许效果的粒度施加,效果工具允许用户 放大图像,以便触摸选择较小数量的像素(即,较小区域)。
[0016] 一些实施例提供一种带有用于对图像施加不同效果的图像上工具的图像编辑应 用程序。图像编辑应用程序用一些图像上工具来覆盖所显示图像。因此,这些上覆的图像 上工具是用户可见的。其他图像上工具是用户不可见的。
[0017] 倾斜-偏移工具是可见的图像上工具。在一些实施例中,倾斜-偏移工具包括置 于图像上的两条可见水平线。倾斜-偏移工具模糊图像在上水平线上方和在下水平线下方 的区域。倾斜-偏移工具允许用户通过触摸并且拖拽两条水平线之间的空间来使两条水平 线一起移动。倾斜-偏移工具允许用户通过坚直地拖拽一条或两条线来调节两条水平线之 间的距离。
[0018] 晕影工具是图像编辑应用程序的不可见的图像上工具。在一些实施例中,晕影工 具基于图像的每个像素与图像被触摸的位置相距的距离来使图像的像素暗化。在这样一些 实施例中,晕影工具使用S形函数来施加暗化效果。利用S形函数,晕影工具对图像在与该 位置相距第一距离内的像素施加很少的暗化效果或不施加暗化效果,并且对图像与该位置 相距第二距离的像素施加最大暗化效果。晕影工具逐渐地对在与该位置相距的第一距离和 第二距离之间的像素施加暗化效果。
[0019] 在一些实施例中,晕影工具限定图像中用户已经触摸的位置周围的不可见几何形 状,并且暗化图像在该几何形状外的区域。用户可重新调整几何形状的大小,并且用户可触 摸图像中的其他位置以便基于其他位置施加晕影效果。
[0020] 渐变工具是图像编辑应用程序的另一种不可见的图像上工具。渐变工具从所显示 图像的顶部向该图像被触摸的位置施加渐变效果。用户可通过触摸图像中的其他位置来限 定要施加渐变效果的区域。
[0021] 在一些实施例中,渐变工具限定并且使用若干不同类型的渐变效果。为限定渐变 效果的类型,该工具基于原始图像生成黑白图像。在一些实施例中,该工具强调黑白图像中 的一种颜色。随后,该工具通过使黑白图像与原始图像混合来生成混合图像。在一些实施 例中,该工具通过对两个图像中对应像素的像素值求平均或通过使两个图像中对应像素的 像素值相乘来混合两个图像。随后,该工具通过将混合图像和原始图像融合来生成融合图 像。
[0022] 上述
【发明内容】
旨在用作对本发明的一些实施例的简单介绍。其并非意味着对在本 文档中公开的所有发明主题的介绍或概述。随后的【具体实施方式】以及【具体实施方式】所参照 的附图将进一步描述
【发明内容】
中所述的实施例以及其他实施例。因此,为了理解本文档所 描述的所有实施例,需要充分理解
【发明内容】
、【具体实施方式】和附图。此外,要求保护的主题 不限于
【发明内容】
、【具体实施方式】以及附图中的示例性的细节,而是由所附权利要求限定,这 是因为要求保护的主题能够以其他特定形式实施而不脱离本主题的精神。
【专利附图】
【附图说明】
[0023] 图1概念性地例示修剪和拉直工具的使用。
[0024] 图2概念性地例示倾斜-偏移工具的使用。
[0025] 图3概念性地例示晕影工具的使用。
[0026] 图4A概念性地例示修剪和拉直工具的使用。
[0027] 图4B概念性地例示修剪和拉直工具的使用。
[0028] 图5概念性地例示一些实施例执行以允许用户拉直图像的过程。
[0029] 图6概念性地例示在不缩放图像的情况下拉直图像。
[0030] 图7概念性地例示通过旋转图像编辑应用程序在其上运行的设备来拉直图像。
[0031] 图8概念性地例示一些实施例执行以允许用户通过旋转设备来拉直图像的过程。
[0032] 图9概念性地例示通过旋转图像编辑应用程序在其上运行的设备来拉直图像。
[0033] 图10概念性地例示通过执行多点触摸手势来拉直图像。
[0034] 图11概念性地例示一些实施例执行以允许用户拉直图像的过程。
[0035] 图12概念性地例示通过执行多点触摸手势来拉直图像。
[0036] 图13概念性地例示使用水平线来拉直图像。
[0037] 图14概念性地例示消除水平线。
[0038] 图15概念性地例示一些实施例执行以允许用户通过使用水平线来拉直图像的过 程。
[0039] 图16概念性地例示通过拖拽图像的边界来修剪图像。
[0040] 图17概念性地例示一些实施例执行以修剪图像的过程。
[0041] 图18A概念性地例示通过放大图像来修剪图像。
[0042] 图18B和图18C概念性地例示通过缩放和移动图像来查看图像。
[0043] 图19概念性地例示基于所选择的预设纵横比来修剪图像。
[0044] 图20概念性地例示通过摩擦图像来对图像施加效果。
[0045] 图21概念性地例示一些实施例执行以允许用户通过摩擦图像来编辑图像的过 程。
[0046] 图22概念性地例示放大图像以利用粒度控制对图像施加效果。
[0047] 图23概念性地例示对图像施加红眼去除效果。
[0048] 图24概念性地例示通过摩擦图像来递增地对图像施加效果。
[0049] 图25概念性地例示一些实施例执行以允许用户通过摩擦图像来递增地施加效果 的过程。
[0050] 图26概念性地例示通过在横扫图像时施加不同压力来对图像施加效果。
[0051] 图27概念性地例示智能边缘检测工具的使用。
[0052] 图28概念性地例示一些实施例执行以允许用户对图像选择性地施加效果的过 程。
[0053] 图29概念性地例示橡皮擦工具的使用。
[0054] 图30概念性地例示一些实施例执行以从所显示图像中的区域去除效果的过程。
[0055] 图31概念性地例示渐变效果工具的使用。
[0056] 图32概念性地例示一些实施例执行以允许用户对图像施加渐变效果的过程。
[0057] 图33概念性地例示图像上渐变效果工具的架构,该图像上渐变效果工具对图像 中由用户所选择的部分施加特定渐变效果。
[0058] 图34概念性地例示一些实施例执行以对图像施加渐变效果的过程。
[0059] 图35概念性地例示图像上渐变效果工具的架构,该图像上渐变效果工具对图像 中由用户所选择的部分施加特定渐变效果。
[0060] 图36概念性地例示一些实施例执行以对图像施加渐变效果的过程。
[0061] 图37概念性地例示倾斜-偏移效果工具的使用。
[0062] 图38概念性地例示图像上倾斜-偏移效果工具的架构。
[0063] 图39例示用于原始图像和模糊图像的一组曲线图。
[0064] 图40概念性地例示一些实施例执行以对图像施加倾斜-偏移效果的过程。
[0065] 图41概念性地例示晕影效果工具的使用。
[0066] 图42概念性地例示一些实施例执行以允许用户对图像施加晕影效果的过程。
[0067] 图43概念性地例示一些实施例执行以允许用户对图像施加晕影效果的过程。
[0068] 图44概念性地例示一些实施例执行以基于用户在所显示图像中触摸的位置来施 加晕影效果的过程。
[0069] 图45例示通过一些实施例的图像编辑应用程序的不同⑶I来选择和取消选择修 剪和拉直工具的实例。
[0070] 图46概念性地例示一些实施例的图像查看、编辑和组织应用程序的软件架构。
[0071] 图47例示一些实施例的图像编辑应用程序的实例⑶I。
[0072] 图48概念性地例示一些实施例的图像数据结构。
[0073] 图49是在其上实现一些实施例的移动计算设备的实例架构。
[0074] 图50概念性地例示利用来实现一些实施例的电子系统。
【具体实施方式】
[0075] 本发明的一些实施例提供用于编辑在图像编辑应用程序的显示区域上显示的图 像的新型图像上编辑工具。这些图像上工具允许用户通过触摸和操纵图像上工具来对图像 施加图像处理操作(例如,饱和、去饱和、瑕疵去除、拉直、修剪等)。
[0076] 这些图像上工具中的一些是一些实施例的图像编辑应用程序覆盖所显示图像的 可见工具。其他图像上工具是不可见的工具。这些不可见的工具允许用户通过直接触摸图 像来施加图像处理操作。
[0077] 图1概念性地例示允许用户通过使用图像上工具来拉直图像的一些实施例的图 像编辑应用程序的图形用户界面(⑶1)1〇〇。具体地,此图以三个不同阶段105-115例示用 户触摸图形工具来使图像旋转以拉直图像显示区域125中显示的图像。图1例示包括图像 显示区域125和拉直工具120的⑶1100。
[0078] 在一些实施例中,图像编辑应用程序(未示出)是用于编辑图像的软件应用程序。 在一些实施例中,图像编辑应用程序在带有触感屏或近触感屏以接收触摸输入的计算设备 (例如,平板电脑、智能电话等)上运行。图像编辑应用程序允许用户通过触摸示出图像编 辑应用程序的显示区域中显示的图像的屏幕来触摸图像。
[0079] 图像显示区域125显示用户希望使用图像编辑应用程序来编辑的图像。在一些实 施例中,图像显示区域125显示所具有的分辨率比原始图像的分辨率低的图像,以便使图 像配合在图像显示区域125内并且快速处理图像。
[0080] 拉直工具120是用户操纵以使图像显示区域125中显示的图像旋转的⑶I项目。 在一些实施例中,拉直工具120显示为可由用户移动(例如,转动、旋转等)的几何形状。例 如,拉直工具120是如图1中所示的转盘(例如,部分圆形)。拉直工具120允许用户通过 转动转盘来使图像旋转。在一些实施例中,在用户将转盘转动(例如,通过拖拽或横扫)到 一个方向(例如,左或右、顺时针、逆时针)时,拉直工具120相应地使图像显示区域125中 显示的图像旋转。
[0081] 如图1中所示,在一些实施例中,拉直工具120与图像显示区域125重叠。在其他 实施例中,拉直工具120和显示区域125并不重叠。此外,在一些实施例中,替代具有几何 形状的情况或与这种情况结合,拉直工具120具有输入文本字段(未示出),用户可向该输 入文本字段中输入要使图像旋转的数值(例如,角度度数)。此外,在一些实施例中,拉直工 具120还包括用户可触摸以拉直所显示图像的滑块控件(例如,轨道和沿着该轨道移动的 控制旋钮)。
[0082] 现将描述具有⑶I 100的图像编辑应用程序的示例性操作。在阶段105处,图像 编辑应用程序在图像显示区域125中显示图像126。接着,在阶段110处,用户将手指111 放置在拉直工具120上。
[0083] 第三阶段115示出用户已经将拉直工具120向右(即,顺时针)转动之后的⑶I 100。在用户转动拉直工具120时,一些实施例中的拉直工具120使图像显示区域125中显 示的图像旋转。如第三阶段115中所示,用户已经将该拉直工具转动成刚好足以使所显示 图像126坚直(例如,使图像中示出的建筑和三个人与⑶I 100的图像显示区域125的水 平线在同一水平)。
[0084] 图2概念性地例示允许用户通过触摸所显示图像来对图像施加倾斜偏移效果 (即,选择性聚焦效果)的一些实施例的图像编辑应用程序的⑶1200。具体地,此图以四个 不同阶段205-220例示用户通过触摸和操纵倾斜偏移工具211来对图像225施加倾斜偏移 效果,该倾斜偏移工具是上覆的UI控件。如图所示,图2例示⑶I 200包括图像显示区域 225。
[0085] 图像显示区域225显示用户希望使用图像编辑应用程序来编辑的图像。在一些实 施例中,图像编辑应用程序允许用户通过触摸所显示图像并且操纵倾斜偏移工具211来对 图像施加倾斜偏移效果。图像编辑应用程序用倾斜偏移工具211来覆盖图像显示区域225 中显示的图像。
[0086] 在一些实施例中,倾斜偏移工具211包括两条平行线(顶部平行线和底部平行 线),响应于接收到用户在所显示图像230上的触摸,图像编辑应用程序将这两条平行线叠 加在所显示图像230上。在一些实施例中,当用户在触摸所显示图像时移动手指时,倾斜 偏移工具显示这两条平行线。倾斜偏移工具211将这两条平行线放置成相隔预定义的距离 (例如,数百个像素)。随后,倾斜偏移工具211模糊图像在顶部水平线上方的部分和图像 在底部水平线下方的部分。因此,相对于图像剩余部分的锐度,图像在两条线之间的部分显 得锐化。
[0087] 在一些实施例中,倾斜偏移工具211允许用户通过触摸图像来调节这两条平行线 之间的距离。用户可通过在这两条平行线上执行张开手势(例如,在触摸图像时张开两指) 来增大距离。用户可通过执行捏合手势(例如,在触摸图像时使两指收拢在一起)来减小 距离。另外,用户可通过移动(例如,通过拖拽)两条平行线中的一条或两条来增大或减小 距离。倾斜偏移工具211还允许用户通过触摸和拖拽两条线之间的空间来使这两条平行线 一起移动。
[0088] 现将描述具有⑶I 200的图像编辑应用程序的示例性操作。在阶段205处,图像编 辑应用程序在图像显示区域225中显示图像230。第二阶段210例示用户已经触摸图像略 微低于图像的坚直中心的区域之后的⑶1200。在这一阶段处,倾斜偏移工具211已经将两 条平行线放置在图像上,使得所触摸区域的中心距离两条平行线是等距的。倾斜偏移工具 211还已经模糊图像在顶部平行线坚直上方的部分和图像在底部平行线坚直下方的部分。
[0089] 在阶段215处,用户已经使用手指212和另一个手指213在图像上执行张开手势, 以使两条平行线进一步张开。顶部线和底部线均已被移动。顶部线已经向上移动,并且底 部线已经向下移动。因此,图像在两条平行线之间的部分变得更大,并且倾斜偏移工具并未 模糊图像的此部分。
[0090] 第四阶段220例示用户已将手指212和213从图像230抬起之后的⑶I 200。两 条平行线保持可见,以便指示这两条线可被操纵。当用户退出图像编辑应用程序的编辑模 式时,两条平行线从图像230消失。
[0091] 图3概念性地例示允许用户通过触摸图像显示区域中显示的图像来对图像施加 图像处理操作的一些实施例的图像编辑应用程序的⑶I 300。具体地,此图以三个不同阶段 305-315例示用户通过触摸图像来对该图像的部分施加渐变效果。图3例示⑶I 300包括 图像显示区域325。
[0092] 图像显示区域325显示用户希望使用图像编辑应用程序来编辑的图像。在一些实 施例中,图像编辑应用程序允许用户通过触摸所显示图像中的区域或用手指向下朝着显示 区域325的底部部分横扫来对图像施加渐变效果。当用户触摸图像中的位置时,图像编辑 应用程序从图像的顶部朝着触摸在图像中的坚直位置施加渐变效果。也就是说,图像编辑 应用程序使效果(例如,亮化、暗化、施加颜色等)的程度从图像的顶部向触摸的位置发生 变化。
[0093]当用户向下横扫图像(例如,在触摸图像时朝下拖拽手指)时,图像编辑应用程序 从图像的顶部向手指已经到达的最低坚直位置施加渐变效果。图像编辑应用程序还允许用 户向上横扫或触摸在施加了渐变效果的最低坚直位置的坚直上方的位置,以便减小要施加 渐变效果的区域。
[0094] 在一些实施例中,图像编辑应用程序未示出用户可操纵的可见水平线。然而,图像 中已经被施加渐变效果的顶部部分和图像中并未被施加渐变效果的底部部分由于对顶部 部分施加的效果而是在视觉上可分辨的。因此,存在将顶部部分和底部部分分开的可见边 界(或可见水平条带)。此边界向用户提供视觉提示,并且允许用户操纵"不可见的"效果 工具。
[0095] 现将描述具有⑶I 300的图像编辑应用程序的示例性操作。在阶段305处,图像编 辑应用程序在图像显示区域345中显示图像330。在阶段310处,用户已经用手指311触摸 图像330顶部附近的位置,或在触摸图像330时将手指311向下拖拽至该位置。图像编辑 应用程序已经从图像330的顶部向手指311所在的位置施加渐变效果。图像中在手指311 上方的部分被描绘为比之前更暗,以便指示已经对这个部分施加渐变效果。
[0096] 第三阶段315例示用户已经触摸图像中更靠近图像330的底部的位置或在触摸图 像330时将手指311拖拽至此位置之后的⑶I 300。图像编辑应用程序已经从手指311在 前一阶段310时所在的坚直位置向手指311在当前阶段315时的坚直位置施加渐变效果。 图像中在手指311上方的部分被描绘为比之前更暗,以便指示已经对这个部分施加渐变效 果。
[0097] 图像上编辑工具的若干更详细的实施例在以下部分中有所描述。部分I描述一些 实施例的图像修剪和拉直工具。接着,部分II描述允许通过摩擦图像或通过选择图像中的 区域来对图像施加图像处理操作的若干图像上编辑工具。部分III描述允许对图像施加特 殊效果的若干可见和不可见的图像上工具。部分IV随之描述用于图像编辑应用程序的另 选Π 布局。部分V描述一些实施例的图像编辑应用程序的软件架构。接着,部分VI描述 同样是图像查看、编辑和组织应用程序的一些实施例的图像编辑应用程序。最后,部分VII 描述实现本文所述一些实施例的若干电子系统。
[0098] I.图像h柃官和修煎工具
[0099] A.图像h.柃官
[0100] 图4A概念性地例示允许用户通过使用图像上工具来拉直图像的一些实施例的图 像编辑应用程序的⑶I 400。具体地,此图以六个不同阶段401-406例示用户触摸图形工具 以便使图像旋转来拉直图像。如图所示,图1例示⑶I 400包括图像显示区域410、集合显 示区域415、工具选择窗格420、工具显示区域425以及控制窗格430。
[0101] 图像显示区域410显示用户希望使用图像编辑应用程序来编辑的图像。集合显 示区域415显示可供用于使用图像编辑应用程序编辑的图像的缩略图的集合。当用户选 择(例如,通过触摸)集合显示区域415中的缩略图时,图像编辑应用程序在图像显示区域 410中显示所选择缩略图表示的图像。在一些实施例中,图像是原始地由数字摄影设备(例 如,数字相机)拍摄的数字摄影图像、数字扫描摄影图像或数字产生的任何图像。
[0102] 在一些实施例中,工具选择窗格420显示表示图像编辑应用程序的不同编辑工具 组的一组图标。当用户选择(例如,通过触摸)工具选择窗格420中的图标时,图像编辑应 用程序在工具显示区域425和/或图像显示区域410中显示一组对应工具。在一些实施例 中,图像编辑应用程序提供用于指示当前所选择的是哪组工具的视觉提示。例如,图像编辑 应用程序加壳所选择图标。在一些实施例中,工具选择窗格420中显不的最左边的图标421 表示图像上修剪和拉直工具。当用户选择图标421时,一些实施例中的图像编辑应用程序 激活修剪和拉直工具。也就是说,图像编辑应用程序将对图像显示区域中的图像的用户输 入中的一些(例如,触摸输入)视为对所激活工具的输入。图像编辑应用程序还响应于对 图标421的选择而在工具显示区域425中显示出拉直工具430。
[0103] 拉直工具允许用户拉直图像显示区域410中显示的图像。拉直图像意味着使图像 中的对象和人看起来不朝照片的任一侧倾斜。一些实施例中,随着图像得到拉直,拉直工具 还放大和/或修剪图像,以便保持针对所拉直图像的原始图像纵横比,并且在最后修剪中 避免包括位于原始图像外的区域。
[0104] 拉直工具提供拉直所显示图像的多种不同方式。例如,一些实施例的拉直工具包 括转盘435。拉直工具允许用户通过转动或旋转转盘435来拉直所显示图像。在一些实施 例中,拉直工具使得所显示图像在转盘435转动或旋转的方向上(例如,顺时针地、或逆时 针地)旋转。拉直工具使所显示图像旋转转盘435转动或旋转的量。
[0105] 在一些实施例中,转盘435具有标记和数字来指示转盘435转动或旋转的量。转盘 435还具有不随着转盘435转动而移动以便提供参照系的固定旋钮460。固定旋钮460所 指向或对准的数字或标记指示转盘435转动或旋转的量。在一些实施例中,转盘435上的 数字表示以度数或弧度、或可表示旋转的角度或量的任何其他合适单位为单位的角度。数 字的符号(即,负或正)指示旋转的方向。在一些实施例中,负数指示转盘435和所显示图 像已经顺时针旋转。正数指示转盘435和所显示图像已经逆时针旋转。
[0106] 不同实施例以不同方式定义用户的触摸方向、转盘435的旋转方向、图像的旋转 方向和转盘435中示出的数字的符号之间的关系。例如,在一些实施例中,图像编辑应用程 序使所显示图像在与转盘435的旋转方向相反的方向上旋转。另外,转盘435上的正数可 指示所显示图像的顺时针旋转,并且转盘435上的负数可指示所显示图像的逆时针旋转。
[0107] 在一些实施例中,当用户转动转盘435时,图像编辑应用程序回放音频以向用户 提供可听提示。在一些实施例中,图像编辑应用程序回放的音频是机械转盘在该机械转盘 转动或旋转时发出的声音。
[0108] 在一些实施例中,转盘435在用户选择工具选择窗格420中的图标421时显示在 工具显示区域425中。在其他实施例中,图像编辑应用程序在图像显示区域410中显示转 盘435,使得转盘435与图像显示区域410中显示的图像部分地重叠。图像编辑应用程序还 可在⑶I 400的不同部分中以不同形状和大小显示转盘。例如,转盘410可在图像显示区 域410的拐角中显示为具有完整圆形形状。
[0109] 当图像编辑应用程序响应于用户对图标421的选择而激活修剪和拉直工具时, 一些实施例中的图像编辑应用程序在图像显示区域410中显示的图像上显示一组栅格线 450。栅格线450指示修剪和拉直工具被激活,并且还在用户修剪所显示图像时提供引导。 在一些实施例中,栅格线450将图像显示区域410转变成3X3网格。在一些实施例中,直 至用户触摸所显示图像,图像编辑应用程序才显示该组栅格线450。在一些实施例中,直至 转动转盘435,图像编辑应用程序才显示该组栅格线450。
[0110] 除了该组栅格线450之外,当用户开始转动转盘435时,图像编辑应用程序显示另 一组栅格线455。当用户尝试拉直所显示图像时,此另外一组栅格线455提供另外的可视 辅助。例如,用户可看到:在所显示图像中示出的对象或人与栅格线正交时,所显示图像被 拉直。在一些实施例中,栅格线450和455 -起将图像显示410转变成9X9网格。本领域 的普通技术人员将认识到,栅格线450和455将显示区域转变成的网格不必具有像3X3或 9X9的特定尺寸,并且可具有任何不同尺寸。此外,在一些实施例中,图像编辑应用程序以 不同颜色绘出栅格线450和455。例如,栅格线450是白色的,并且栅格线455是黄色的。
[0111] 控制窗格430显示一组不同图标,该组不同图标表示图像编辑应用程序响应于对 图标的选择而执行的不同操作。在一些实施例中,控制窗格430显示图像的集合的名称,该 集合的缩略图显示在集合显示区域415中。控制窗格430还可显示图像显示区域425中显 示的图像的名称(例如,文件名)。
[0112] 现将描述包括⑶I 400的图像编辑应用程序的示例性操作。第一阶段401例示用 户通过用手指441触摸缩略图440对该缩略图440的选择。图像编辑应用程序响应于对缩 略图440的选择而在图像显示区域410中显示由缩略图440表示的图像445。
[0113] 在阶段402处,用户随后选择工具选择窗格420中显示的图标421。作为响应,图 像编辑应用程序在阶段403处激活修剪和拉直工具。图像编辑应用程序加亮图标421。图 像编辑应用程序还在工具显示区域425中显示转盘435并且在图像显示区域410中显示栅 格线450。转盘435上由固定旋钮460所指向的数字读出"0"以指示:转盘435根本未朝 任一个方向转动。
[0114] 在阶段404处,用户将手指441放置在转盘425的一部分上并且开始顺时针(即, 向右)转动转盘。当用户放置手指441时或当用户开始转动转盘435时,一些实施例中的 图像编辑应用程序显示栅格线455。
[0115] 下一阶段405例示用户已经顺时针转动转盘435之后的⑶I 400。修剪和拉直工 具已经使所显示图像445顺时针转动了转盘435的旋转量。在该实例中,固定旋钮460所指 向的"-10"指示:转盘435和所显示图像445已经顺时针旋转了 10度。阶段405还例示拉 直工具已经放大(因此,图像中的自行车看起来更大)并且修剪图像445,以便避免在显示 区域410中显示旋转之前落在图像445外的部分。也就是说,如果拉直工具使图像445旋 转而不对该图像进行修剪和放大,将必定会在图像显示区域410中显示落在图像445外的 部分。如图所示,在旋转转盘435时,一些实施例中的拉直工具使图像相对于显示区域410 的边缘旋转。也就是说,仅使图像中示出的对象和人相对于图像显示区域410的边缘旋转, 使得对象和人看起来不倾斜。
[0116] 最后阶段406例示用户已经从转盘435抬起手指441并且不再触摸转盘435之后 的⑶I 400。由于不再触摸转盘435,图像编辑应用程序也已经去除栅格线455。
[0117] 图4B概念性地例示允许用户通过使用图像上工具来拉直图像的一些实施例的图 像编辑应用程序的⑶I 400。此图以六个不同阶段401a-406a例示用户触摸图形工具以便 使图像旋转来拉直该图像。具体地,图4B例示具有内部显示区域480a的一些实施例的⑶I 400。
[0118] -些实施例的图像显示区域410包括内部显示区域480a。在使所显示图像顺时针 或逆时针旋转时,一些实施例的图像编辑应用程序调节图像的缩放级别,使得最大部分的 所显示图像显示在内部显示区域480a中,同时避免在内部显示区域480a中显示该图像的 边界。在一些实施例中,在使图像旋转时,图像的边界显示在显示区域410中位于内部显示 区域480a外的区域中。这个区域称为显示区域410的外区。另外,在一些实施例中,图像 落在显示区域410的外区内的部分看起来渐淡。内部显示区域480a适用于下述实施例的 图像编辑应用程序(例如,参照图9、图12和图13)。
[0119] 现将描述包括⑶I 400的图像编辑应用程序的示例性操作。第一阶段401a和第 二阶段402a与以上参照图4A所述的阶段401和402相同。响应于阶段402a处对图标421 的选择,图像编辑应用程序在阶段403a处激活修剪和拉直工具。图像编辑应用程序在显示 区域410内显示内部显示区域480a。在一些实施例中,内部显示区域480a小于显示区域 410,并且图像编辑应用程序在显示区域410的中心显示内部显示区域480a。
[0120] 图像编辑应用程序在内部显示区域480a内显示图像445。图像编辑应用程序加亮 图标421。图像编辑应用程序还在工具显示区域425中显示转盘435并且在内部显示区域 480a中显示栅格线450。转盘435上由固定旋钮460所指向的数字读出"0"以指示:转盘 435根本未朝任一个方向转动。
[0121] 在阶段404a处,用户将手指441放置在转盘425的一部分上并且开始顺时针(即, 向右)转动转盘。当用户放置手指441时或当用户开始转动转盘435时,一些实施例中的 图像编辑应用程序在内部显示区域480a中显示栅格线455。
[0122] 下一阶段405a例示用户已经顺时针转动转盘435之后的⑶I 400。修剪和拉直工 具已经使所显示图像445顺时针转动了转盘435的旋转量。在此实例中,固定旋钮460所 指向的"_5"指示转盘435和所显示图像445已经顺时针旋转了 5度。阶段405a还例示拉 直工具已经放大(因此,图像中的自行车看起来更大)图像,使得最大部分的图像445显示 在内部显示区域480a内而未在内部显示区域480a内显示该图像的边界。如图所示,图像 落在内部显示区域480a外的其他部分显示在外区485a(S卩,显示区域410落在内部显示区 域480a外的区域)中。图像455的上边界和侧边界的部分也显示在显示区域410的外区 485a 中。
[0123] 最后阶段406a例示用户已经进一步使转盘435顺时针转动之后的⑶1400。修剪 和拉直工具已经使所显示图像445顺时针转动了转盘435的旋转量。在该实例中,固定旋 钮460所指向的"-10"指示:转盘435和所显示图像445自上一阶段405a开始已经顺时针 旋转了另外的5度。阶段406a还例示拉直工具已经改变图像的缩放级别(因此,图像中的 自行车看起来更大),使得就图像的此特定的旋转量而言,图像445的最大部分显示在内部 显示区域480a内而未在内部显示区域480a内显示图像的边界。如图所示,因为图像编辑 应用程序已经进一步放大图像455,所以与自行车在前一阶段405a中所呈现相比,自行车 看起来更大。在一些实施例中,在用户将手指从转盘抬起时,栅格线455将会消失。
[0124] 图5概念性地例示一些实施例执行以允许用户通过操纵图像编辑应用程序的图 形用户界面项目(例如,以上参照图4A和图4B所述的转盘435)来拉直图像的过程500。 在一些实施例中,过程500由图像编辑应用程序执行。过程500在图像编辑应用程序在具 有触感屏或近触感屏以接收来自用户的触摸输入的计算设备上运行时开始。过程500通过 以下操作开始:在图像编辑应用程序的图像显示区域(例如,上述显示区域410或内部显示 区域4 8〇a)中显示(在5〇5处)图像。
[0125] 接着,过程500在图像编辑应用程序的区域中显示(在510处)几何形状。在一些 实施例中,过程500至少部分地将几何形状显示在图像显示区域(例如,图像显示区域410) 中。在其他实施例中,过程500显示几何形状,使得几何形状和所显示图像不重叠。不同实 施例使用不同几何形状来显示。例如,过程500使用转盘形状(例如,部分圆形形状)作为 要显示的几何形状。
[0126] 随后,过程500确定(在515处)几何形状是否已经接收到任何触摸输入。也就 是说,该过程确定(在515处)用户是否已经触摸几何形状(通过触摸触感屏或近触感屏 中示出几何形状的区域)。当过程500确定(在515处)几何形状尚未接收到任何触摸输 入时,过程500循环至515以等待几何形状上的触摸输入。
[0127] 当过程500确定(在515处)几何形状已经接收到触摸输入时,该过程前进至520 以基于所接收到的触摸输入来移动几何形状。例如,当用户从左向右横扫几何形状时,过程 500使几何形状向右(即,顺时针)旋转。同样,当用户从右向左横扫几何形状时,过程500 使几何形状向左(即,逆时针)旋转。
[0128] 随后,过程500基于几何形状的移动来使所显示图像旋转(在525处)。在一些 实施例中,过程500使所显示图像旋转与几何形状已经旋转的量成比例的量(例如,角度度 数)。随后,该过程结束。
[0129] 目前所述的一些实施例的修剪和拉直工具随着所显示图像得到拉直而放大该图 像。在一些情况下,修剪和拉直工具并不随着所显示图像得到拉直而进行放大。
[0130] 图6例示图像编辑应用程序的⑶I 400。具体地,此图以六个不同阶段601-606例 示:当⑶I 400已经放大所显示图像610时,拉直工具在拉直图像610之前不对图像进行放 大。
[0131] 在一些实施例中,图像编辑应用程序允许用户通过以下方式来修剪显示区域410 中显示图像:通过在所显示图像上执行张开手势(例如,用收拢的两指触摸图像,并且随后 在触摸图像时张开手指)来放大该图像。当图像编辑应用程序放大图像时,因为该图像的 一些部分将落在图像显示区域410之外,这些部分将不会显示在图像显示区域中。在一些 实施例中,图像编辑应用程序将该图像的这些部分修剪掉(即,将这些部分从该图像修剪 掉)。
[0132] 当图像在图像编辑应用程序已经放大所显示图像之后得到拉直时,一些实施例的 拉直工具在拉直工具使图像旋转以拉直该图像时不另外进行放大。这是因为拉直工具可以 在拉直工具拉直图像时使用该图像的修剪掉的部分。
[0133] 现将描述图像编辑应用程序的示例性操作。在阶段601处,图像610显示在图像 显示区域410中。图标421被加亮以指示修剪和拉直工具被激活。转盘435上由固定旋钮 460所指向的数字是0以指示转盘435尚未旋转。栅格线450也显示在图像显示区域410 中。
[0134] 在阶段602处,用户用两指触摸图像610。在阶段603处,用户在触摸图像610时 张开手指。修剪和拉直工具对图象进行放大,从而修剪掉图像无法配合在图像显示区域410 中的部分。
[0135] 在阶段604处,用户将一根手指放置在转盘435上并且开始使图像610旋转。另 外的栅格线455显示在图像显示区域410中。下一阶段605例示用户已经顺时针转动转盘 435之后的⑶I 400。修剪和拉直工具已经相应地使所显示图像610顺时针转动,但通过使 用图像在阶段603处被修剪掉的部分而未对图像610进行任何进一步放大。固定旋钮460 所指示的数字指示:转盘435和图像610已经顺时针旋转了 10度。
[0136] 最后阶段605例示用户已经从转盘435抬起手指441并且不再触摸转盘435之后 的⑶I 400。由于不再触摸转盘435,图像编辑应用程序也已经去除栅格线455。
[0137] 目前所述的一些实施例的修剪和拉直工具允许用户通过触摸转盘来拉直所显示 图像。修剪和拉直工具提供用以控制转盘的其他手段。图7概念性地例示一些实施例的图 像编辑应用程序在其上运行的计算设备700。具体地,此图以三个不同阶段705-715例示用 户通过转动或旋转计算设备700来操纵上覆的拉直工具以使所显示图像旋转。图7例示包 括图像显示区域725和拉直工具730的图像编辑应用程序的⑶I。
[0138] 计算设备700具有触感屏或近触感屏以接收触摸输入。计算设备700的一些例子 包括平板电脑(例如,Apple iPad? )和智能电话(例如,Apple iPhone ? )。计算设备7〇〇 还具有检测和测量计算设备700的移动的一个或多个设备(例如,陀螺仪、加速度计等)。 在一些实施例中,图像编辑应用程序使用这些设备来检测和测量计算设备700的移动。例 如,图像编辑应用程序从计算设备700的陀螺仪(未示出)接收取向值。在一些实施例中, 这些取向值包括X轴取向值、y轴取向值以及z轴取向值,其中z轴与地面正交,并且X轴 和y轴平行于地面。因此,当使计算设备700在距离地平面相同高度处旋转时(例如,当计 算设备700在齐平在地面上的桌子顶部旋转时),仅z轴取向值改变。
[0139] ⑶I 720类似于以上参照图1所述的⑶I 100。另外,图像显示区域725类似于图 像显示区域125,并且拉直工具730类似于拉直工具120。拉直工具730具有标记731,用以 指示图像显示区域725中显示的图像的旋转量。
[0140] 在一些实施例中,一些实施例中的图像编辑应用程序允许用户通过移动(例如, 转动、旋转等)计算设备730来操纵拉直工具730。在用户移动计算设备730之前,图像编 辑应用程序记录计算设备730的所有三个X轴、y轴以及z轴或至少z轴的初始取向值。当 用户转动计算设备730 (例如,改变计算设备的取向)时,一些实施例中的图像编辑应用程 序相对于计算设备730的所记录的初始取向值(尤其z轴取向值)保持拉直工具130的取 向。因此,当用户转动计算设备700时,拉直工具730相对于计算设备730的改变取向而转 动。
[0141] 拉直工具730根据拉直工具730已经旋转的量来相对于计算设备730的改变取向 使图像显示区域725中显示的图像旋转。因此,当计算设备移动时,一些实施例中的图像编 辑应用程序相对于计算设备的初始取向保持所显示图像的取向。
[0142] 现将描述具有拉直工具730的图像编辑应用程序的示例性操作。第一阶段705 例示用户保持计算设备700静止,并且图像编辑应用程序在图像显示区域720中显示图像 726。这里,假设计算设备730在该实例中被放置在与地面齐平的桌子上。拉直工具730的 标记731都在它们相应的初始位置处。在移动计算设备700之前,图像编辑应用程序记录 (例如,在计算设备700的存储器中)计算设备700的z轴取向。
[0143] 在阶段110处,用户向左倾斜计算设备700,如图所示,直至所显示图像中示出的 人和建筑相对于计算设备700的当前取向被拉直。当用户朝左转动计算设备时,图像编辑 应用程序从计算设备700的陀螺仪(未示出)接收或检索计算设备700已经从计算设备 700的初始取向旋转的量。图像编辑应用程序相对于计算设备730的改变取向向右转动拉 直工具730。标记731向右旋转以指示拉直工具730已经向右转动。拉直工具730根据拉 直工具730旋转的量使图像710向右旋转。
[0144] 图像编辑应用程序还接收用户输入,该用户输入指示用户不期望通过旋转计算设 备700来使拉直工具730和所显示图像旋转。在接收到此类输入时,图像编辑应用程序在 用户进一步旋转计算设备700时不会使拉直工具730和所显示图像旋转。
[0145] 在第三阶段715处,用户已经转动拉直工具730,使得计算设备730的当前取向与 所记录的计算设备730的初始取向相同。如图所示,所显示图像已经被拉直。也就是说,所 显示图像中示出的人和建筑与图像显示区域725的边缘正交。
[0146] 图8概念性地例示一些实施例执行以允许用户通过操纵在计算设备上运行的图 像编辑应用程序的图形用户界面项目来拉直图像的过程800。在一些实施例中,过程800由 图像编辑应用程序执行。过程800在图像编辑应用程序在具有检测和测量计算设备的移动 的一个或多个设备(例如,陀螺仪、加速度计等)的计算设备上运行时开始。过程800通过 以下操作开始:在图像编辑应用程序的图像显示区域中显示(在805处)图像。图像显示 区域的例子包括以上参照图7所述的图像显示区域725。
[0147] 接着,过程800在图像编辑应用程序的区域中显示(在810处)几何形状。在一 些实施例中,过程800至少部分地将几何形状显示在图像显示区域中。在其他实施例中,过 程800显示几何形状,使得几何形状和所显示图像不重叠。不同实施例显示不同几何形状。 例如,过程800显示转盘形状(例如,部分圆形形状)作为几何形状。
[0148] 随后,过程800确定(在815处)计算设备是否已经移动。在一些实施例中,过程 800从计算设备的陀螺仪接收或检索取向信息,并且使用取向信息来确定计算设备是否已 经移动。过程800还保持包括计算设备的当前取向的取向信息。过程800将计算设备的当 前取向和计算设备的先前所记录的取向进行比较,以便确定计算设备相对于特定轴线的移 动。当相对于特定轴线的取向未改变时,该过程确定:计算设备未相对于特定轴线移动。
[0149] 当过程800确定(在815处)计算设备尚未移动时,过程800循环至815以等待 计算设备的移动。当过程800确定(在815处)计算设备已经移动时,该过程前进至820 以基于计算设备的移动来移动几何形状。例如,当用户向左倾斜计算设备时,过程800使几 何形状相对于所记录的计算设备的初始旋转向右旋转。同样,当用户向右倾斜计算设备时, 过程820使几何形状向左旋转。
[0150] 随后,过程800基于几何形状的移动来使所显示图像旋转(在825处)。在一些 实施例中,过程800使所显示图像旋转与几何形状已经旋转的量成比例的量(例如,角度度 数)。随后,该过程结束。
[0151] 图9概念性地例示一些实施例的图像编辑应用程序在其上运行的计算设备900。 具体地,此图以七个不同阶段901-907例示用户通过转动或旋转计算设备900来操纵转盘 435以使所显示图像910旋转。如图所示,图9例示计算设备运行具有⑶I 400的一些实施 例的图像编辑应用程序。
[0152] 计算设备900与以上参照图7所述的计算设备700的类似之处在于:计算设备900 包括检测和测量计算系统900的移动的一个或多个设备(例如,陀螺仪、加速度计等)。
[0153] 图像编辑应用程序还允许用户指示:用户期望通过移动计算设备900来开始控制 或停止控制转盘435。例如,当图像编辑应用程序的修剪和拉直工具响应于对图标421的选 择而被激活时,图像编辑应用程序在接收到对转盘435的轻按时进入转盘435由计算设备 900的移动控制的模式。在接收到对转盘435的另一个轻按时,图像编辑应用程序退出该模 式。在一些实施例中,图像编辑应用程序提供视觉指示以示出图像编辑应用程序处于该模 式。例如,当图像编辑应用程序处于该模式时,图像编辑应用加亮转盘435或使转盘435闪 光。
[0154] 现将描述包括⑶I 400的图像编辑应用程序的示例性操作。第一阶段901例示用 户通过用手指920触摸缩略图915对该缩略图915的选择。图像编辑应用程序响应于对缩 略图915的选择而在图像显示区域410中显示由缩略图910表示的图像910。
[0155] 在阶段902处,用户随后选择工具选择窗格420中显示的图标421。作为响应,图 像编辑应用程序在阶段903处激活修剪和拉直工具。图像编辑应用程序加亮图标421。图 像编辑应用程序还在工具显示区域425中显示转盘435并且在图像显示区域410中显示栅 格线450。
[0156] 用户还轻按(例如,通过用手指迅速上下摸弄)转盘435,以便指示:用户希望通 过移动计算设备900来控制转盘435。在移动计算设备900之前,修剪和拉直工具记录计算 设备900的初始取向。例如,修剪和拉直工具从计算设备900的陀螺仪获得计算设备900 的y轴值,并且记录至少z轴取向值。
[0157] 在阶段904处,用户开始逆时针旋转计算设备900。修剪和拉直工具相对于计算设 备900的初始取向保持转盘435的取向。由此,修剪和拉直工具开始使转盘435顺时针旋 转。修剪和拉直工具还显示栅格线455,并且将图像显示区域410转变成9X9网格。
[0158] 下一阶段905例示以下情况之后的⑶I 400 :用户已经通过逆时针转动计算设备 905来转动转盘435,使得所显示图像中示出的人和建筑相对于图像显示区域410的当前取 向(即,计算设备900的当前取向)被拉直。
[0159] 阶段905还例示拉直工具已经放大(因此,图像中示出的人和建筑看起来更大) 并且修剪图像910,以便避免在显示区域410中显示旋转之前落在图像910外的部分。下一 阶段906例示用户轻按(例如,通过用手指迅速上下摸弄)转盘435,以便指示:用户不再 希望通过移动计算设备900来控制转盘435。
[0160] 最后阶段907例示以下情况之后的⑶I 400 :用户已经旋转计算设备905,但图像 910并未相对于图像显示区域410的边缘旋转。修剪和拉直工具还已经去除栅格线455,因 为用户已经在前一阶段906处指示用户不再通过旋转计算设备900来使转盘和图像旋转。
[0161] 当解除激活工具时,上述一些实施例和下述一些实施例的修剪和拉直工具将显示 图像区域中显示的图像的部分保存为新图像。因此,修剪和拉直工具"编辑"图像以生成新 图像。
[0162] 此外,在缩放和修剪图像以用于在显示区域中显示时,一些实施例的修剪和拉直 工具对图像进行编辑。在其他实施例中,修剪和拉直工具纯粹用作一种查看辅助设备,该查 看辅助设备在使图像旋转时通过放大和缩小以及修剪图像来在显示区域中显示图像的尽 可能多的部分,而不会在显示区域中显示不是图像的一部分的区域。换句话讲,作为纯粹的 查看辅助设备,修剪和拉直工具并不"编辑"图像本身。
[0163] 以上所述的一些实施例的修剪和拉直工具允许用户通过操纵Π 项目来拉直所显 示图像。一些实施例允许用户通过直接触摸和旋转所显示图像来拉直图像。
[0164] 图10概念性地例示在计算设备上运行的一些实施例的图像编辑应用程序的⑶I 1000。具体地,此图以四个不同阶段1005-1020例示用户通过用两根手指1011和1012触 摸和转动所显示图像来使图像旋转。图10例示⑶I 1000包括图像显示区域1025。
[0165] 图像编辑应用程序在其上运行的计算设备(未示出)具有触感屏或近触感屏以接 收触摸输入。图像编辑应用程序接收或检索在触感屏或近触感屏上进行的触摸输入(例 如,触摸手势的空间和时间信息),并且使用这些输入来使图像显示区域1025中显示的图 像旋转。图像显示区域1025与图像显示区域125的类似之处在于:图像显示区域1025显 示用户希望使用图像编辑应用程序来编辑的图像。
[0166] 图像编辑应用程序在接收到触摸输入时确定用户是否希望使所显示图像旋转。在 一些实施例中,当用户使用两根或更多根手指触摸所显示图像并使手指在该图像上旋转超 过阈值量(例如,若干度数)时,图像编辑应用程序确定用户希望使所显示图像旋转。图像 编辑应用程序通过以下方式确定手指的旋转量:遵循手指在触摸屏上的位置,并且测量连 接两根手指的位置的线条所旋转的量。
[0167] 在一些实施例中,直至用户接触图像的手指旋转超过阈值量,图像编辑应用程序 才开始使所显示图像旋转。因此,当用户期望通过用两根或更多根手指触摸所显示图像以 执行某一其他动作时,图像编辑应用程序制止使图像旋转。例如,当用户只是在触摸图像时 使两指进一步分开时,媒体编辑应用程序放大所显示图像而不使所显示图像旋转。作为另 一个实例,当用户用两根或更多根手指横扫图像时,图像编辑应用程序显示该图像的不同 部分,而不会使显示区域中的图像旋转。以此方式,图像编辑应用程序允许用户拉直、修剪、 缩放并且滑动所显示图像,而无需将手指从图像上抬起。
[0168] 现将描述具有⑶I 1000的图像编辑应用程序的示例性操作。在阶段1005处,图 像编辑应用程序在图像显示区域1025中显示图像1026。在阶段1010处,用户将两根手指 1011和1012放置在图像1026上。在阶段1015处,用户使两根手指1011和1012稍微顺时 针旋转但小于预定义的阈值(例如,若角度度数)。图像编辑应用程序并未开始使所显示图 像1026旋转,因为手指的旋转量尚未超过阈值。
[0169] 在第四阶段1020处,用户随后使手指1011和1012进一步顺时针旋转,并且图像 编辑应用程序相应地使所显示图像1026旋转。用户刚好已经将手指1011和1012旋转至 足以使所显示图像126坚直(例如,使图像中示出的建筑和三个人与⑶I 1000的水平线在 同一水平)。
[0170] 图11概念性地例示一些实施例执行以允许用户通过用两根或更多根手指触摸并 转动图像处理应用程序的图像显示区域中显示的图像来拉直所显示图像的过程1100。在一 些实施例中,过程1100由图像编辑应用程序执行。过程1100在图像编辑应用程序在具有 触感屏或近触感屏以接收触摸输入的计算设备上运行时开始。过程1100通过以下操作开 始:在图像编辑应用程序的图像显示区域中显示(在1105处)图像。图像显示区域的例子 包括以上参照图10所述的图像显示区域1025。
[0171] 接着,过程1100确定(在1110处)所显示图像是否已经接收到两个或更多个触 摸输入。也就是说,过程1100确定(在1110处)用户是否已经将两根或更多根手指放置 在所显示图像上。当该过程确定(在1110处)所显示图像尚未接收到两个或更多个触摸 输入时,过程1100循环回1110以等待多个触摸输入。
[0172] 当过程1100确定(在1110处)所显示图像已经接收到两个或更多个触摸输入时, 该过程确定(在1115处)触摸输入是否是旋转的。在一些实施例中,当连接用户手指所触 摸的两个位置的线条已经旋转时,该过程确定触摸输入是旋转的。
[0173] 当过程1100确定(在1115处)触摸输入不是旋转的时,过程1100结束。否则, 过程1100前进至1120以识别所接收到的触摸输入旋转的量(例如,角度度数)。
[0174] 随后,过程1100确定(在1125处)所识别旋转量是否超过某个阈值(例如,若 干角度度数)。当过程1100确定(在1125处)旋转量小于阈值时,该过程结束。否则,该 过程前进至1130以使所显示图像旋转。在一些实施例中,过程1100使图像旋转(在1130 处)与所识别的由触摸输入所进行的量成比例的量。也就是说,在一些实施例中,过程1100 使所显示图像旋转(在1130处)的量与触摸输入所进行的量相同。在其他实施例中,过程 1100使所显示图像旋转的量与触摸输入所进行的量相比更大或更小。随后,该过程结束。
[0175] 图12概念性地例示在具有触感屏或近触感屏以接收触摸输入的计算设备上运行 的一些实施例的图像编辑应用程序的⑶I 400。具体地,此图以六个不同阶段1205-1230例 示用户通过触摸并转动所显示图像来使图像旋转。
[0176] 现将描述包括⑶I 400的图像编辑应用程序的示例性操作。第一阶段1201例示 用户通过用手指1230触摸缩略图440对该缩略图440的选择。图像编辑应用程序响应于 对缩略图440的选择而在图像显示区域410中显示由缩略图440表示的图像445。
[0177] 在阶段1202处,用户随后选择工具选择窗格420中显示的图标421。作为响应,图 像编辑应用程序在阶段1203处激活修剪和拉直工具。图像编辑应用程序加亮图标421以 指示修剪和拉直工具被激活。图像编辑应用程序还在工具显示区域425中显示转盘435并 且在图像显示区域410中显示栅格线450。由固定旋钮460所指向的数字指示转盘435根 本未朝任一个方向转动。
[0178] 在阶段1204处,用户用两根手指1235和1240触摸图像,并且使两根手指略微顺 时针旋转但小于预定义的阈值(例如,若干角度度数)。修剪和拉直工具并未开始使所显示 图像445旋转,因为手指的旋转量尚未超过阈值。修剪和拉直工具并未开始使转盘435转 旋,也未显示除了栅格线450之外的更多栅格线。
[0179] 在下一阶段1205处,用户已经使手指1235和1240顺时针旋转超过预定义的阈值 度数。修剪和拉直工具相应地使所显示图像445旋转。用户已经使手指1235和1240旋转 直至图像445中显示的自行车被拉直。在该实例中,固定旋钮460所指向的"-10"指示:转 盘435和所显示图像445已经顺时针旋转了 10度。阶段405还例示拉直工具已经放大(因 此,图像中的自行车看起来更大)并且修剪图像445,以便避免显示旋转之前落在图像445 外的部分。另外,一旦手指1235的旋转超过预定义的阈值,修剪和拉直工具就显示栅格线 455。
[0180] 最后阶段1206例示用户已经从所显示图像445抬起手指1235和1240并且不再 触摸图像之后的⑶I 400。由于不再触摸图像445,修剪和拉直工具还去除栅格线455。
[0181] 除了允许用户触摸图像以拉直所显示图像之外,一些实施例的图像编辑应用程序 提供至少一个Π 控制项目,该至少一个Π 控制项目覆盖在图像上以允许用户使用该Π 控 制项目来拉直图像。
[0182] 图13概念性地例示一些实施例的图像编辑应用程序的⑶I 400。具体地,此图以 五个不同阶段1301-1305例示用户通过使用图像编辑应用程序的修剪和拉直工具所检测 的水平线使所显示图像旋转。
[0183] 在一些实施例中,修剪和拉直工具分析图像显示区域中显示的图像并且检测该图 像的水平线。修剪和拉直工具在图像上显示所检测的水平线,以允许用户使用所显示水平 线来拉直图像。除了所检测的水平线之外,一些实施例的修剪和拉直工具提供用于拉直图 像的一个或多个可选用户界面项目。一些实施例中所提供的用户界面项目之一指示图像编 辑应用程序将使水平线转向哪个方向以便拉直图像。当用户希望如水平线和用户界面项目 所建议那样拉直图像时,用户可选择用户界面项目来拉直该图像。检测水平线在2012年2 月6日提交的美国专利申请No. 13/366,613中得到详细描述。美国专利申请13/366,613 以引用方式并入本文。
[0184] 现将描述包括⑶I 400的图像编辑应用程序的示例性操作。第一阶段1301例示 用户通过用手指1325触摸缩略图1315对该缩略图1315的选择。图像编辑应用程序响应 于对缩略图1310的选择而在图像显示区域410中显示由缩略图1315表示的图像1320。
[0185] 在阶段1302处,用户随后选择工具选择窗格420中显示的图标421。作为响应,图 像编辑应用程序在阶段1303处激活修剪和拉直工具。修剪和拉直工具检测水平线1345并 在所显示图像1320上显示水平线1345。另外,修剪和拉直工具在所检测的水平线1345的 两端处显示可选Π 项目1335和1340。Π 项目1340用于拉直图像并且指示水平线1345 在用户选择用户界面项目1340时将转向的方向。由于水平线1345向左倾斜(例如,左端 低于右端),修剪和拉直工具在Π 项目1340中放置向下箭头,以便指示修剪和拉直工具将 使水平线1345和图像1320顺时针旋转,从而使图像1320被拉直。用户界面项目1335用 于消除水平线1345。当用户选择用户界面项目1335时,图像编辑应用程序将会使水平线 1345以及用户界面项目1335和1340消失。
[0186] 另外,在阶段1303处,图像编辑应用程序加壳图标421。图像编辑应用程序还在工 具显示区域425中显示转盘435并且在图像显示区域410中显示栅格线450。转盘435上 由固定旋钮460所指向的数字读出"0"以指示:转盘435根本未朝任一个方向转动。
[0187] 在阶段1304处,用户用手指1325选择用户界面项目1340。接着,在阶段1305处, 作为响应,修剪和拉直工具通过使图像1330顺时针旋转使得水平线1345在同一水平(即, 平行于图像显示区域1325的底部边缘)来拉直图像1330。修剪和拉直工具已经使所显示 图像445顺时针转动了转盘435的旋转量。在该实例中,固定旋钮460所指向的"-10"指 示转盘435和所显示图像445已经顺时针旋转了 10度。阶段1305还例示拉直工具已经放 大(因此,图像中的自行车看起来更大)并且修剪图像445,以便避免显示旋转之前落在图 像445外的部分。
[0188] 图14例示在用户希望不使用水平线1345来拉直图像1320时消除所检测的水平 线1345。具体地,此图以五个不同阶段1401-1405例示用户通过选择Π 项目1335来消除 所检测的水平线1345。
[0189] 如上所述,Π 项目1335用于消除水平线1345。当用户选择Π 项目1335时,修剪 和拉直工具将会使水平线1345以及Π 项目1335和1340消失。在一些实施例中,修剪和 拉直工具提供除了选择Π 项目1335之外的其他方式。例如,修剪和拉直工具将在用户轻 按⑶I 400的其他区域时使水平线1345以及Π 项目1335和1340消失。⑶I 400的这些 其他区域包括转盘435、图像显示区域410的除了 Π 项目1335之外的部分等。在一些实施 例中,图像编辑应用程序提供另一个Π 项目(未示出)以供用户选择。当用户选择此Π 项目(例如,重置按钮)时,图像编辑应用程序重新显示所消除水平线1345。
[0190] 现将描述包括⑶I 400的图像编辑应用程序的示例性操作。前三个阶段 1401-1403与以上参照图13所述的阶段1301-1303相同。在阶段1404处,用户用手指1425 选择Π 项目1435。接着,在阶段1405处,作为响应,修剪和拉直工具将Π 项目1335和 1340以及所检测的水平线1345从图像显示区域去除。
[0191] 图15概念性地例示一些实施例执行以允许用户通过选择用于拉直图像处理应用 程序的图像显示区域中显示的图像的用户界面项目来拉直图像的过程1500。在一些实施例 中,过程1500由图像编辑应用程序执行。过程1500在图像编辑应用程序在具有触感屏或近 触感屏以接收触摸输入的计算设备上运行时开始。过程1500通过以下操作开始:识别(在 1505处)图像的水平线。识别水平线在美国专利申请No. 13/366, 613中得到详细描述。
[0192] 接着,过程1500在图像编辑应用程序的显示区域中显示(在1510处)图像和所识 别水平线。图像显示区域的例子包括以上参照图13所述的图像显示区域1325。过程1500 还显示(在1515处)用于拉直所显示图像的用户界面项目。在一些实施例中,过程1500 在水平线中显示用户界面项目,以便指示该过程将使水平线和图像在一个方向上旋转以拉 直水平线和图像。此类用户界面项目的例子是以上参照图13所述的用户界面项目1340。
[0193] 随后,过程1500确定(在1520处)所显示用户界面项目是否已经由用户选择。当 过程1500确定(在1520处)用户尚未选择用户界面项目时,过程1500循环回1520以等 待用户选择用户界面项目。
[0194] 当过程1500确定(在1520处)用户已经选择用户界面项目,过程1500前进至 1525以便使用水平线来使图像旋转。在一些实施例中,过程1500使水平线与图像一起旋 转,使得水平线相对于图像的位置不随水平线和图像旋转而改变。过程1500使用水平线来 使所显示图像旋转,以便拉直所显示图像。随后,该过程结束。
[0195] B.图像h修煎
[0196] 图16概念性地例示允许用户通过操纵图像上修剪工具来修剪图像的一些实施例 的图像编辑应用程序的⑶I 1600。具体地,此图以六个不同阶段1605-1615例示用户通过 触摸并拖拽图像1640的拐角和边缘来修剪图像1640。图16例示⑶I 1600包括图像显示 区域535。
[0197] 如上参照图6所述,图像上修剪工具允许用户通过放大图像来从图像修剪掉不想 要的部分。在一些实施例中,图像上修剪工具还允许用户通过向内和向外拖拽图像的拐角 和边缘来从图像修剪掉不想要的部分。修剪工具还允许通过多次触摸来拖拽图像的拐角和 边缘。例如,用户可通过相对于图像对角地做出捏合手势(例如,使两指在触感屏或近触感 屏上朝向彼此收拢)来朝图像的中心拖拽图像的两个拐角。
[0198] 在一些实施例中,图像上修剪工具允许用户在修剪图像时保持纵横比。要保持的 纵横比可以是原始图像在修剪之前的纵横比或用户可从其中选择的预定义的纵横比之一 (例如,2X3)。另外,在一些实施例中,图像上修剪工具在修剪之后拉伸图像以匹配原始图 像在修剪之前的原始大小。
[0199] 现将描述具有⑶I 1600的图像编辑应用程序的示例性操作。在阶段1605处,图 像编辑应用程序在图像显示区域1635中显示图像1640。接着,在阶段1610处,用户将手 指1611放置在图像1640的右上角处。在阶段1615处,用户对角地拖拽图像1640的右上 角以将图像中示出的山和吉他手修剪掉。
[0200] 在阶段1620处,图像编辑应用程序拉伸图像的剩余部分(即,图像的示出鼓手的 部分)。由于剩余部分的纵横比并不匹配图像显示区域1635的纵横比,图像处理应用程序 将两个灰色区域放置在所拉伸的图像剩余部分的侧部。
[0201] 在这一阶段1620处,用户还将手指1611放置在剩余部分的底部边缘处。在下一 阶段1625处,用户向上拖拽底部边缘以将图像1640的更多部分修剪掉。在阶段1630处, 图像编辑应用程序拉伸开图像的剩余部分。图像编辑应用程序不在显示区域1640中显示 灰色区域,因为图像的最后剩余部分具有与图像在修剪之前的原始纵横比相同的纵横比。
[0202] 图17概念性地例示一些实施例执行以允许图像编辑应用程序的用户修剪图像的 过程1700。在一些实施例中,过程1700由图像编辑应用程序执行。过程1700在图像编辑 应用程序在具有触感屏或近触感屏以接收来自用户的触摸输入的计算设备上运行时开始。 过程1700通过以下操作开始:在图像编辑应用程序的图像显示区域中显示(在1705处) 图像。
[0203] 接着,过程1700在所显示图像上显示(在1710处)几何形状。在一些实施例中, 几何形状是初始与所显示图像的边缘重叠的形状。在重新调整几何形状的大小时,几何形 状限定修剪后图像的边缘。随后,过程1700确定(在1715处)几何形状是否已经接收到 用户输入。在一些实施例中,当用户通过将手指放置在几何形状的拐角或边缘上来选择拐 角或边缘时,过程1700确定几何形状已经接收到用户输入。另外,当用户在几何形状的拐 角和边缘以及几何形状内的区域上放置并且移动两根或更多根手指时,过程1700确定几 何形状已经接收到用户输入。
[0204] 随后,过程1700基于所接收到的输入来重新调整(1720处)几何形状的大小。过 程1700解释用户用一根或多根手指以不同方式做出的手势。例如,当用户选择几何形状的 边缘并朝几何形状的中心拖拽时,过程1700向内移动边缘。另外,当用户将手指放置在几 何形状的拐角并朝所显示图像的中心拖拽时,过程1700使得拐角向内。此外,当用户使用 两根或更多根手指来选择并拖拽图像的边缘和拐角时,或当用户在几何形状上执行捏合手 势(例如,在触摸几何形状内部时促使两指在一起)或在几何形状上执行张开手势(例如, 在触摸几何形状内部时张开两指)时,过程1700-次移动几何形状的多于一个边缘或多于 一个拐角。
[0205] 接着,过程1700使用几何形状来修剪(1725)所显示图像。在一些实施例中,过程 将所显示图像未落在几何形状内的部分修剪掉。随后,该过程结束。
[0206] 图18A概念性地例示一些实施例的图像编辑应用程序的⑶I 400。具体地,此图以 六个不同阶段1801-1806例示用户通过使用图像编辑应用程序的图像上修剪工具来修剪 所显示图像1810。
[0207] 如上参照图16所述,一些实施例的图像上修剪工具允许用户通过操纵图像的边 缘和拐角来修剪掉图像的不想要的部分。在一些实施例中,图像上修剪工具还允许用户通 过放大所显示图像来修剪图像。图像上修剪工具修剪掉在放大图像之后图像落在图像显示 区域410外的部分。
[0208] 现将描述具有⑶I 400的图像编辑应用程序的示例性操作。第一阶段1801例示 用户通过用手指1815触摸缩略图1810对该缩略图1810的选择。图像编辑应用程序响应 于对缩略图1815的选择而在图像显示区域410中显示由缩略图1810表示的图像1816。
[0209] 在阶段1802处,用户随后选择工具选择窗格420中显示的图标421。作为响应, 图像编辑应用程序在阶段1803处激活图像上修剪工具。图像编辑应用程序加亮图标421。 图像编辑应用程序还在工具显示区域425中显示转盘435并且在图像显示区域410中显示 栅格线450。
[0210] 在阶段1804处,用户用两根手指1820和1825触摸图像1810。下一阶段1805例 示用户已经在图像1810上执行张开手势之后的⑶I 400。作为响应,图像上修剪工具放大 图像1810并且修剪掉图像落在图像显示区域410外的部分。图像上修剪工具已经拉伸修 剪后图像以占据整个图像显示区域410。最后阶段1806例示用户已经从图像1810抬起手 指1820和1825并且不再触摸图像1810之后的⑶I 400。
[0211] 图18B和图18C概念性地例示一些实施例的图像编辑应用程序的⑶1400。具体 地,此图以九个不同阶段1801b-1809b例示用户通过使用图像编辑应用程序的图像上修剪 工具来修剪所显示图像1810。具体地,图18B和图18C例示具有内部显示区域480的一些 实施例的⑶I 400。
[0212] 现将描述具有⑶I 400的图像编辑应用程序的示例性操作。第一阶段1801b和第 二阶段1802b与以上参照图18A所述的阶段1801和1802相同。响应于在阶段1802a处对 图标421的选择,图像编辑应用程序在阶段1803a处激活修剪工具。图像编辑应用程序在 显示区域410内显示内部显示区域480a。
[0213] 在阶段1804a处,用户用两根手指1820和1825触摸图像1810。下一阶段1805a例 示用户已经在图像1810上执行张开手势以放大该图像之后的⑶I 400。作为响应,图像上 修剪工具放大图像1810。图像因放大而落在内部显示区域480a外的部分显示在外区485a 中。图像的边界也显示在外区485a中。图像上修剪工具允许用户进一步放大图像,并且图 像的一些部分可落在显示区域410外。
[0214] 下一阶段1806a例示用户已经从图像1810抬起手指1820和1825并且不再触摸 图像1810之后的⑶I 400。如图所示,显示在外区485a中的图像的部分和图像的边界不再 显示在外部区域485a中。下一阶段1807a例示用户再次触摸图像1810之后的⑶I 400。 在阶段1805a处显示在外区485a中的图像的部分和图像的边界再次出现在外部区域485a 中。
[0215] 在阶段1808a处,用户向右拖拽图像,并且因此,图像1810的不同部分显示在内部 显示区域480a中。另外,图像落在内部显示区域480a外的不同部分现在显示在外区485a 中。下一阶段1809a例示用户已经从图像1810抬起手指并且不再触摸图像1810之后的 ⑶I 400。如图所示,在前一阶段1808a处显示在外区485a中的图像的那些部分和图像的 边界不再显示在外区485a中。
[0216] 图19概念性地例示一些实施例的图像编辑应用程序的⑶I 400。具体地,此图以 四个不同阶段1901-1904例示用户通过选择预设纵横比来修剪所显示图像1910。
[0217] 在一些实施例中,图像编辑应用程序提供用户可从其中选择的一组纵横比。图像 编辑应用程序使用所选择的纵横比来修剪图像显示区域410中显示的图像。例如,当图像 显示区域410中显示的原始图像具有3X2的纵横比(例如,宽度为3并且高度为2)并且所 选择的纵横比是2X3时,图像编辑应用程序修剪原始图像的侧部以将纵横比改变成2X3 的比。
[0218] 在一些实施例中,图像编辑应用程序基于原始图像中示出的一个或多个面部的位 置来确定要修剪的部分。图像编辑应用程序修剪掉图像的部分,使得图像的剩余部分具有 一个或多个面部在图像的中心。图像编辑应用程序使用面部检测技术(例如,检测任何面 部)和/或面部识别技术(例如,检测所关注面部)来找到一个或多个面部。
[0219] 当图像编辑应用程序找到多个面部时,不同实施例采用不同技术来将面部放在修 剪后图像的中心。例如,一些实施例的图像编辑应用程序识别每个所找到面部的中心坐标, 对所识别中心坐标求平均,并且将图像具有平均中心坐标的部分放置在修剪后图像的中 心。作为另一个实例,一些实施例的图像编辑应用程序识别所找到每个面部的大小,并且将 最大面部放置在修剪后图像中。作为另一个实例,一些实施例的图像编辑应用程序将所关 注面部放置在修剪后图像的中心。
[0220] 在一些实施例中,图像编辑应用程序提供一组缩略图连同该组纵横比。这些缩略 图中的每个基于对应可选纵横比来提供对修剪后图像的预览。
[0221] 现将描述具有⑶I 400的图像编辑应用程序的示例性操作。第一阶段1901例示 用户已经选择要编辑的图像并且选择图标421之后的⑶I 400。图像编辑应用程序已经将 转盘435放置在工具显示区域425中并且加亮图标421。
[0222] 在阶段1902处,用户选择用于示出预设纵横比的图标1910。图像编辑应用程序显 示用户可从其中选择的预设纵横比。下一阶段1903示出用户对2X3纵横比的选择。
[0223] 最后阶段1904例示图像编辑应用程序已经修剪图像1910之后的⑶1400。图像编 辑应用程序找到面部1915并且修剪图像,使得修剪后图像具有面部1915在中心。由于图 像的侧部而非图像的顶部和底部被修剪以从3X2的比做成2X3的比,图像编辑应用程序 将面部1915放置在修剪后图像的水平中心。图像显示区域410中显示的灰色区域表示图 像已经被修剪掉的部分。
[0224] 已经描述一些实施例的图像上修剪和拉直工具之后,下一部分描述用于使用一些 实施例的图像编辑应用程序来对图像中的所选择区域施加图像处理操作的其他图像上工 具。
[0225] II.图像h刷子工具
[0226] -些实施例的图像编辑应用程序提供一组图像上刷子工具,该组图像上刷子工具 对所显示图像的所选择区域施加图像处理操作。这些工具中的一些允许用户选择所显示图 像中的区域并且对所选择区域施加图像处理操作。这些工具中的一些允许用户多次选择所 显示图像中的区域并且基于选择图像中的区域的次数来施加图像处理操作。
[0227] A.通讨诜择区域施加图像处理橾作
[0228] 图20概念性地例示允许用户选择图像内要施加图像处理操作的区域的一些实施 例的图像编辑应用程序的⑶I 400。具体地,此图以六个不同阶段2001-2006例示用户通过 触摸图像来选择图像中的区域并且对图像中的所选择区域施加图像处理操作。
[0229] 如上所述,一些实施例中的工具选择窗格420显示表示图像编辑应用程序的不同 编辑工具组的一组图标。工具选择窗格420包括图标2020,在一些实施例中,该图标是工具 选择窗格430中显示的从左侧起的第四个图标。工具选择窗格420中显示的图标2020所 表示的工具包括图像上刷子工具。当用户选择图标2020时,一些实施例中的图像编辑应用 程序在工具显示区域425 (或⑶I 400的其他部分)中显示表示这些图像上刷子工具的一 组可选Π 项目2025。当选择工具之一时(例如,当用户选择表示该工具的图标时),该工 具被激活,并且对所显示图像的用户输入被视为对所选择工具的输入。
[0230] 在一些实施例中,该组可选Π 项目2025是具有不同形状的用于不同图像处理操 作或效果的刷子的一组图标。例如,图标2030表示瑕疵去除工具。图标2035表示红眼去 除工具。图标2040表示饱和工具。图标2045表示去饱和工具。图标2050表示亮化工具。 图标2055表示暗化工具。图标2060表示锐化工具。图标2065表示柔化工具。工具中的 每个在被激活时对图像中用户通过触摸所选择的区域施加效果。
[0231] 这些工具中的一些对区域施加对应效果,无论区域被触摸的次数如何。也就是说, 此类工具在第一次触摸区域时施加效果,但在随后再次触摸区域时并不施加效果。例如,在 一些实施例中,瑕疵去除工具在用户第一次触摸区域时从该区域去除瑕疵,但在用户再次 触摸该区域时不会尝试进一步从该区域去除瑕疵。在一些实施例中,另一个此类工具是红 眼去除工具。
[0232] -组可选Π 项目2025所表示的工具中的一些基于图像中的区域被触摸的次数来 施加对应效果。此类工具将在以下得到进一步详细描述。
[0233] 现将描述具有⑶I 2000的图像编辑应用程序的示例性操作。第一阶段2001例示 用户通过用手指2070触摸缩略图2010对该缩略图2010的选择。图像编辑应用程序响应 于对缩略图2010的选择而在图像显示区域410中显示由缩略图2010表示的图像2015。
[0234] 在阶段2002处,用户选择工具选择窗格420中显示的图标2020。作为响应,图像 编辑应用程序在阶段2003处在⑶I 400中显示一组可选Π 项目2025,如图所示。在阶段 2004处,用户通过触摸图标2030来选择瑕疵去除工具。图像编辑应用程序激活瑕疵去除工 具。
[0235] 在阶段2005处,用户使用手指2070多次左右摩擦水以及船桨的顶端。瑕疵去除 工具识别用户已经摩擦的区域,并且对该区域施加瑕疵去除操作。示例性瑕疵去除操作在 2009年8月13日公布的美国专利申请公布No. 2009/0202170中详细描述。美国专利申请 公布No. 2009/0202170以引用方式并入本文。在阶段2006处,图像编辑应用程序已经去除 船桨的顶端和船桨落在所摩擦区域中的部分。
[0236] 图21概念性地例示一些实施例执行以允许图像编辑应用程序的用户通过触摸图 像中的区域来对该区域施加图像处理操作的过程2100。在一些实施例中,过程2100由图像 编辑应用程序执行。过程2100在图像编辑应用程序在具有触感屏或近触感屏以接收来自 用户的触摸输入(例如,摩擦手势)的计算设备上运行时开始。过程2100通过以下操作开 始:在图像编辑应用程序的图像显示区域中显示(在2105处)图像。
[0237] 接着,过程2100接收(在2110处)对要施加的图像处理操作的选择。在一些实 施例中,过程2100在用户触摸图像编辑应用程序的表示图像处理操作的用户界面项目(例 如,图标)时,通过该用户界面项目接收对该图像处理操作的选择。图像处理操作的例子包 括去除瑕疵、去除红眼等。
[0238] 接着,过程2100确定(在2115处)图像中的区域是否被选择。在一些实施例中, 当用户触摸图像中的区域时,过程2100确定该区域被选择。当该过程确定(在2115处) 区域尚未被选择时,过程2100循环回2110以等待用户对区域的选择。
[0239] 当过程2100确定(在2115处)区域已经被选择时,该过程前进至2120以识别所 选择的区域的图像属性。过程2100所识别的图像属性的例子包括亮度、颜色等。随后,过 程2100基于所识别的图像属性来对所选择区域施加(在2125处)所选择的图像处理操作。 随后,该过程结束。
[0240] 目前所述的一些实施例的刷子工具使用统一刷子大小。也就是说,用刷子工具所 做出的笔画的宽度相对于图像显示区域的大小是统一的。一些实施例的图像编辑应用程序 并不提供不同大小的刷子。在一些此类实施例中,图像编辑应用程序允许更具粒度地施加 带有统一刷子大小的刷子工具的效果。
[0241] 图22概念性地例示一些实施例的图像编辑应用程序的⑶I 400。具体地,此图以 八个不同阶段2201-2208例示图像编辑应用程序允许用户放大图像以便使用刷子以更精 细级别来施加瑕疵去除效果,该刷子所具有的大小并不相对于图像显示区域的大小改变。
[0242] 现将描述具有⑶I 400的图像编辑应用程序的示例性操作。在阶段2201处,图标 2020被加亮以指示:图像编辑应用程序正在⑶I 400中显示一组可选Π 项目2025。用户 已经通过用手指2210触摸图标2030来选择瑕疵去除工具。图像编辑应用程序还已经在图 像显示区域410中显示图像2215。
[0243] 在阶段2202处,用户触摸图像2215中示出的星星附近。在阶段2203处,用户在 触摸图像2215时向右拖拽手指。灰色区域2220指示用户已做出的笔画。灰色区域2220 的高度表示刷子大小。刷子大小小到足以盖住天空中的瑕疵,但是太大以致难以对图像中 示出的更小对象施加瑕疵去除效果。例如,刷子大小太大以致难以仅触摸图像2215中示出 的扬声器箱的上部圆圈。
[0244] 阶段2204例示图像编辑应用程序已经从图像2215中示出的天空去除两颗星星。 在阶段2205处,用户通过在图像2215上执行张开手势来放大图像2215。在阶段2206处, 用户触摸图像2215中示出的扬声器箱的上部圆圈。在阶段2207处,用户在触摸图像2215 时向右拖拽手指。灰色区域2225表示用户已做出的笔画。灰色区域2225的高度表示刷子 大小。由于图像被放大,同一刷子大小现在小到足以仅触摸上部圆圈并且去除上部圆圈内 部的瑕疵。最后阶段2207示出上部圆圈中的瑕疵已经被去除。
[0245] 图23例示对图像中的所选择区域施加图像处理操作的另一个图像上刷子工具的 使用。具体地,此图以五个不同阶段2301-2305例示用户对⑶1400的图像显示区域410中 显示的图像2310施加红眼去除效果。
[0246] 如上所述,无论区域被触摸的次数如何,图像上刷子工具中的一些都对该区域施 加对应效果。在一些实施例中,图标2035所表示的红眼去除工具是一种此类工具。一些实 施例的图像编辑应用程序还可提供以下自动红眼去除工具,该自动红眼去除工具将会自动 从所显示图像中的红眼去除所有"红色"。图标2035所表示的红眼去除工具可在使用自动 工具之前或之后使用。
[0247] 现将描述带有红眼去除工具的⑶I 400的示例性操作。第一阶段2301例示用户 通过用手指2325触摸缩略图2315对该缩略图2315的选择。图像编辑应用程序响应于对 缩略图2315的选择而在图像显示区域410中显示由缩略图2315表示的图像2310。
[0248] 在阶段2302处,用户选择工具选择窗格420中显示的图标2320。作为响应,图像 编辑应用程序在阶段2303处在⑶I 400中显示一组可选Π 项目2325,如图所示。另外,用 户通过触摸图标2330来选择红眼去除工具。图像编辑应用程序激活红眼去除工具。
[0249] 在阶段2304处,用户用手指2325触摸图像2310中示出的人的右眼(在图像2310 的左侧的眼睛)。在一些实施例中,红眼去除工具基于用户已经触摸的区域来识别瞳孔。随 后,该红眼去除工具从所识别瞳孔去除红色。在一些实施例中,红眼去除工具采用常规红眼 去除方法来从所触摸红眼去除红色。
[0250] 在阶段2305处,用户已经从图像抬起手指2325,并且不再触摸图像显示区域410。 这一阶段例示图像编辑应用程序已经从人的右眼去除"红色"。
[0251] 在一些实施例中,当去除红色时,红眼去除工具回放声音。另外,在一些实施例中, 红眼去除工具提供视觉指示,以便指示已经从所选择眼睛去除红色。例如,红眼去除工具显 示圆圈从所选择眼睛放大的动画。当用户再次选择眼睛时,红眼去除工具撤消对红色的去 除。当工具撤消对红色的去除时,红眼去除工具回放另一种不同声音。
[0252] B.某于触撙数量施加图像处理橾作
[0253] 如上所述,一些实施例中的图像上刷子工具中的一些基于区域被触摸的次数来对 该区域施加对应效果。以下描述使用此类图像上刷子工具的若干实例。
[0254] 图24概念性地例示允许用户递增地对图像中的所选择区域施加图像处理操作的 一些实施例的图像编辑应用程序的⑶I 400。具体地,此图以六个不同阶段2401-2406例示 用户通过摩擦图像递增地对图像中的区域施加图像处理操作。图24例示⑶I 2400包括图 像显示区域2425。
[0255] 在一些实施例中,图像上刷子工具中的一些允许用户通过摩擦图像(例如,一次 或多次横扫图像中的区域)来施加图像处理操作。在一些实施例中,此类图像上刷子工具 包括图标2040所表示的饱和工具、图标2045所表示的去饱和工具、图标2050所表示的亮 化工具、图标2055所表示的暗化工具、图标2060所表示的锐化工具以及图标2065所表示 的柔化工具。
[0256] 每次触摸图像中的区域时,图像上刷子工具以递增量来施加对应图像处理操作或 效果。例如,每次触摸所显示图像中的区域时,亮化工具亮化该区域(例如,增加亮度值)。
[0257] 不同实施例以不同方式确定要施加的图像处理操作的递增量。例如,图像上刷子 工具基于所选择图像处理操作以预定义的递增值来增大或减小图像属性值。例如,当所选 择图像处理操作是亮化操作时,屏幕上刷子工具使区域的亮度值增大了预定义的亮度值 S。在一些实施例中,图像上刷子工具按百分比增大或减小图像属性值。另外,一些实施例 中的图像上刷子工具使用非线性函数来非线性地增大或减小图像中的区域的图像属性值。
[0258] 在一些实施例中,图像上刷子工具使用掩码值来递增地施加图像处理操作。用于 图像处理操作的掩码值被指定给给所显示图像的一组像素。在一些实施例中,图像上刷子 工具改变掩码值以对被指定给掩码值的一组像素施加图像处理操作。也就是说,这些实施 例中的图像上刷子工具改变掩码值以递增地施加图像处理操作。
[0259] 在一些实施例中,在图像上刷子工具被激活时,区域接收到的触摸的数量累积。也 就是说,当用户在图像中的区域上执行摩擦操作(例如,在抬起手指之前,一次或多次横扫 图像中的区域)之后抬起手指(或用于触摸的其他设备,诸如触笔)并随后在同一区域上 再次执行另一摩擦操作时,该区域被视为是被连续摩擦。在一些此类实施例中,当另一个图 像上刷子工具被选择并激活以施加不同对应效果时,区域被触摸的次数从零或从在此图像 上刷子工具最近一次被激活并使用时区域已经被触摸的次数开始累积。
[0260] 现将描述一些实施例的图像上刷子工具的示例性操作。第一阶段2401例示图像 编辑应用程序在图像显示区域410中显示图像2420。用户选择工具选择窗格420中显示的 图标2020。
[0261] 在阶段2402处,图像编辑应用程序在⑶I 400中显示一组可选Π 项目2025,如图 所示。用户通过触摸图标2050来选择亮化工具。图像编辑应用程序激活亮化工具。
[0262] 在阶段2403处,一些实施例中的图像编辑应用程序加亮图标2050以指示亮化工 具已经被激活。用户将手指2425放置在图像2420中示出的天空上。在阶段2404处,用户 已经在触摸图像2420时向右拖拽手指2425。亮化工具使手指2425所触摸的区域变亮。
[0263] 在阶段2405处,用户已经向左上方向拖拽手指2425。亮化工具使手指2425所触 摸的区域变亮。然而,部分2430已经被触摸两次,并且因此看起来比已经被触摸仅一次的 部分2435和2440更亮。
[0264] 在阶段2406处,用户已经将手指2425拖拽回到在手指2425在阶段2404处所在位 置。亮化工具使现在已经被触摸两次的部分2435变亮。在部分2430已经被触摸三次时, 部分2430看起来比之前更亮。
[0265] 图25概念性地例示一些实施例执行以允许图像编辑应用程序的用户通过摩擦图 像中的区域来递增地对该区域施加图像处理操作的过程2500。在一些实施例中,过程2500 由图像编辑应用程序执行。过程2500在图像编辑应用程序在具有触感屏或近触感屏以接 收来自用户的触摸输入(例如,摩擦手势)的计算设备上运行时开始。过程2500通过以下 操作开始:在图像编辑应用程序的图像显示区域中显示(在2505处)图像。
[0266] 接着,过程2500接收(在2510处)对要施加的图像处理操作的选择。在一些实 施例中,过程2500在用户触摸图像编辑应用程序的表示图像处理操作的用户界面项目(例 如,图标)时,通过该用户界面项目接收对该图像处理操作的选择。
[0267] 随后,过程2500确定(在2515处)图像中的区域是否正被触摸。在一些实施例 中,过程2500从计算设备接收或检索触摸信息(例如,触感屏或近触感屏中用户手指正在 触摸的区域的坐标),以便确定图像中的区域是否被触摸。当该过程确定(在2515处)区 域未正被触摸时,过程2500循环回2515以等待用户对所显示图像中的区域的触摸。
[0268] 当过程2500确定(在2515处)区域正被触摸时,该过程前进至2520以确定是否 已经从该区域移开触摸。在一些实施例中,当不再触摸已经被触摸的区域时,过程2500确 定已经从该区域移开触摸。因此,当用户从区域抬起手指或用户已经将手指移动至图像中 的另一区域时,过程2500确定已经从该区域移开触摸。当过程2500确定(在2520处)尚 未从区域移开触摸时,过程2500循环回2520以等待触摸移开。
[0269] 当过程2500确定(在2520处)已经从区域移开触摸时,过程2500递增地对图像 中的区域施加(在2525处)所选择图像操作。随后,过程2500确定(在2530处)图像中 的另一区域是否正被触摸。当过程2500确定(在2530处)图像中的另一区域正被触摸时, 过程2500循环回2520以等待触摸从此区域移开。当过程2500确定(在2530处)图像中 的另一区域未正被触摸时,过程2500结束。
[0270] 已经描述基于区域接收到的触摸的数量施加图像处理操作的一些实施例的图像 上刷子工具之后,接下来的小节描述基于触摸压力施加图像处理操作的一些实施例的图像 上刷子工具。
[0271] C.某于触撙压力施加图像处理橾作
[0272] 图26例示基于图像中的区域接收到的触摸压力来施加图像处理操作或效果的一 些实施例的图像上刷子工具的使用。具体地,此图以六个不同阶段2601-2606例示用户通 过以不同压力触摸所显示图像来对图像中的不同区域施加不同级别的亮化效果。图26例 示GUI 400,该CTI如上所述属于在具有能够测量触摸压力的触摸屏的计算设备上运行的 一些实施例的图像编辑应用程序。
[0273] 在一些实施例中,图像上刷子工具基于触摸压力来对图像中的区域施加效果。也 就是说,这些实施例中的图像上刷子工具基于区域正被触摸时施加至该区域的压力来确定 要对该区域施加的效果的量。因此,包括这些实施例中的图像上刷子工具的图像编辑应用 程序必须正在具有能够测量触摸压力的触感屏的计算设备上运行。此类触感屏可利用加速 度计来检测和测量施加至屏幕的压力。
[0274] 现将描述一些实施例的图像上刷子工具的示例性操作。前三个阶段2601-2603与 以上参照图24所述的阶段2401-2403相同。在阶段2604处,用户已经将手指2625从手指 2625在阶段2603处所在位置向右拖拽。亮化工具使手指2625所触摸的区域2630变亮。
[0275] 在阶段2605处,用户已经进一步向右拖拽手指2625。然而,用户在将手指从手指 2625在前一阶段2604处所在位置向右移动时更用力地按压图像2420。因此,与前一阶段 2604中相比,亮化工具对已经被触摸的区域2635施加更强的亮化效果。因此,区域2635看 起来比区域2630更亮。
[0276] 在阶段2606处,用户已经进一步向右拖拽手指2625。然而,用户在将手指从手指 2625在前一阶段2605处所在位置向右移动时更用力地按压图像2420。因此,亮化工具对 自前一阶段2605开始已经被触摸的区域2640施加甚至更强的亮化效果。因此,区域2640 看起来比区域2630更亮。
[0277] 目前所述的一些实施例的图像上刷子工具对所选择区域施加效果。接下来的小节 将描述一种智能边缘检测工具,该智能边缘检测工具启用图像上刷子工具以基于所选择区 域的不同部分的图像属性来选择性地对这些不同部分施加效果。
[0278] D.智能边缘检测工具
[0279] 图27概念性地例示智能边缘检测工具的使用。图27概念性地例示允许用户选择 性地对图像中的所选择区域的不同部分施加图像处理操作的一些实施例的图像编辑应用 程序的⑶I 400。具体地,此图以五个不同阶段2701-2705例示用户仅对图像中的区域中满 足某些准则的那些像素施加图像处理操作。
[0280] 如上所述,一些实施例的图像编辑应用程序允许用户选择要施加图像处理操作的 区域。在一些此类实施例中,智能边缘检测工具启用图像上刷子工具以仅对满足某些准则 的那些像素施加对应图像处理操作。例如,当智能边缘检测工具被激活时,亮化工具在用户 选择对所选择区域施加亮化操作时使所选择区域内的蓝色像素亮化,但使红色像素原封不 动。
[0281] 在一些实施例中,智能边缘检测工具识别初始由用户触摸的一个或多个像素。例 如,工具首先识别用户横扫图像期间所触摸的第一像素,并且使用第一像素的属性来确定 准则。在其他实施例中,工具识别用户横扫图像期间所触摸的一组像素(像素中的前10个 和前100个),并且使用那些像素的属性来确定准则。在横扫期间所触摸的所有像素中,启 用的图像上刷子工具,仅满足准则的那些像素。以下还将会描述更多关于确定准则的内容。
[0282] 在一些实施例中,每次图像被触摸时(S卩,每次用户的手指在该手指从图像抬起 之后再次触摸图像时),智能边缘检测工具重新定义准则。在其他实施例中,直至选择不同 的图像上刷子工具或解除激活该智能边缘检测工具,智能边缘检测工具才重新定义准则。 也就是说,在这些实施例中,初始所确定的准则用于所有后续触摸,直至选择不同的图像上 刷子工具或解除激活该智能边缘检测工具。
[0283] 这种技术还适用于每次用户触摸图像中的区域时递增地对该区域施加图像处理 操作的上述一些实施例的图像编辑应用程序。也就是说,一些实施例的图像编辑应用程序 仅递增地对满足准则的那些像素施加图像处理操作。
[0284] 此外,一些实施例的图像编辑应用程序采用边缘检测来识别由触摸区域内检测到 的边缘分开的不同区域。这些实施例的图像编辑应用程序对满足准则并且在包括初始所触 摸的一组像素的所识别区域内的那些像素施加图像处理操作。
[0285] 现将描述图像上刷子工具在智能边缘检测工具被激活情况下的示例性操作。第一 阶段2701例示图像编辑应用程序在图像显示区域410中显示图像2720。用户选择工具选 择窗格420中显示的图标2020。
[0286] 在阶段2702处,图像编辑应用程序在⑶I 400中显示一组可选Π 项目2025,如图 所示。用户通过触摸图标2050来选择亮化工具。图像编辑应用程序激活亮化工具。
[0287] 在阶段2703处,一些实施例中的图像编辑应用程序加亮图标2050以指示亮化工 具已经被激活。用户选择表示智能边缘检测工具的图标2710。在一些实施例中,图像编辑 应用程序在工具显示区域425中显示图标2710。另外,在一些实施例中,用户选择图像上刷 子工具和智能边缘检测工具的次序并不重要。也就是说,一旦智能边缘检测工具得到激活, 该智能边缘检测工具就启用随后被激活的任何其他图像上刷子工具。
[0288] 在阶段2704处,用户将手指2730放置在图像2720中示出的船桨下端附近的大 海上。智能边缘检测工具分析图像2720初始由手指2730所触摸的部分中的像素,并且为 图像中的其他部分中的其他像素设定要满足的准则,以便亮化工具对那些像素施加亮化效 果。由于图像初始被触摸的部分在图像2720中示出的大海中,此实例中的亮化工具仅对所 具有的颜色与大海的颜色类似的那些像素施加亮化效果。
[0289] 在阶段2705处,用户已经在触摸图像2720时向右拖拽手指2730。亮化工具使手 指2725所触摸的区域变亮。然而,即使手指2730触摸图像2720中所示出船桨的下端,亮 化工具也不会使这个部分变亮。这是因为智能边缘检测工具已激活并且已经启用亮化工具 来仅亮化满足在前一阶段2704处所设定准则的那些像素。
[0290] 图28概念性地例示一些实施例执行以允许图像编辑应用程序的用户通过摩擦图 像中的区域来选择性地对该区域施加图像处理操作的过程2800。在一些实施例中,过程 2800由图像编辑应用程序执行。过程2800在图像编辑应用程序在具有触感屏或近触感屏 以接收来自用户的触摸输入(例如,摩擦手势)的计算设备上运行时开始。过程2800通过 以下操作开始:在图像编辑应用程序的图像显示区域中显示(在2805处)图像。
[0291] 接着,过程2800接收(在2810处)对图像中的区域的选择。随后,过程2800识 别(在2815处)用于确定像素之间的相似性的某些准则。在一些实施例中,过程2800使 用所选择区域中的一些像素的图像属性。更具体地,在一些实施例中,过程2800使用所选 择区域中初始由用户触摸的一组像素。
[0292] 不同实施例使用图像属性以不同方式识别准则。例如,在一些实施例中,过程2800 使用该组像素的平均色值。过程2800将RGB颜色模型中的平均色值转换成LAB颜色空间中 的色值。随后,过程2800限定与LAB颜色空间中的色值相距的距离范围作为准则。将RGB 颜色模型中的色值转换成LAB颜色空间中的色值的更多细节在美国专利No. 8, 229, 211中 得到描述。美国专利No. 8, 229, 211以引用方式并入本文。
[0293] 随后,过程2800对满足所识别准则的像素施加(在2820处)图像处理操作(例 如,饱和、去饱和、亮化、暗化、锐化、柔化等)。在一些实施例中,过程2800对该区域中所具 有的LAB颜色空间中的色值落在限定范围中的每个像素施加图像处理操作。随后,该过程 结束。
[0294] E.撤除图像处理橾作
[0295] 如上所述,一些实施例中的一些图像上刷子工具对区域施加对应效果。在一些实 施例中,图像编辑应用程序提供去除对区域施加的效果的图像上刷子工具。
[0296] 图29概念性地例示允许用户将图像处理操作从图像中的区域撤除的一些实施例 的图像编辑应用程序的⑶I 400。具体地,此图以五个不同阶段2901-2905例示用户通过 摩擦图像中的区域来递增地撤除已经对图像中的该区域施加的图像处理操作。图29例示 ⑶I 2400包括图像显示区域2425。
[0297] 在一些实施例中,一些实施例的图像编辑应用程序提供橡皮擦工具,该橡皮擦工 具允许用户通过摩擦图像中的区域(例如,一次或多个横扫图像中的该区域)来撤除已经 对图像中的该区域施加的图像处理操作。例如,橡皮擦工具通过去除亮化效果来暗化图像 已经被施加亮化效果的特定区域。也就是说,橡皮擦工具使图像中的该区域回到施加亮化 效果之前的先前状态。
[0298] 在一些实施例中,每次触摸图像中的区域时,橡皮擦工具递增地撤除图像处理操 作。例如,橡皮擦工具以递增量来暗化图像已经被施加亮化效果的特定区域。当再次触摸 特定区域时,橡皮擦工具以递增量进一步暗化该区域。在一些实施例中,一旦图像中的区域 返回施加图像处理操作之前的状态,橡皮擦工具就不撤除图像处理操作。
[0299] 不同实施例以不同方式确定要去除的图像处理操作的递增量。例如,橡皮擦工具 基于所选择图像操作以预定义的递增值来增大或减小图像属性值。例如,当已施加的图像 处理操作是亮化操作时,橡皮擦工具以预定义的亮度值S来减小区域的亮度值。此δ可表 示一些图像上刷子工具在每次触摸时对区域所施加的相同量的亮度值。在一些实施例中, 橡皮擦工具按百分比增大或减小图像属性值。另外,一些实施例中的橡皮擦工具使用非线 性函数来非线性地增大或减小图像中的区域的图像属性值。
[0300] 像一些实施例的图像上刷子工具如上所述所做的那样,橡皮擦工具使用掩码值来 递增地撤除图像处理操作。也就是说,一些实施例中的橡皮擦工具改变掩码值以对被指定 给掩码值的一组像素撤除图像处理操作。
[0301] 在一些实施例中,橡皮擦工具基于触摸压力来从图像中的区域撤除图像处理操 作。也就是说,这些实施中的橡皮擦工具基于在触摸区域时施加至该区域的压力来确定要 从该区域撤除的图像处理操作的量。因此,包括这些实施例的橡皮擦工具的图像编辑应用 程序必须正在具有能够测量触摸压力的触感屏的计算设备上运行。如上所述,此类触感屏 可利用加速度计来检测和测量施加至屏幕的压力。
[0302] 在一些实施例中,橡皮擦工具并不递增地撤除图像处理操作。相反,这些实施例的 橡皮擦工具整体去除对图像中的区域施加的图像处理操作。也就是说,橡皮擦工具将图像 中的该区域恢复回到施加图像处理操作之前的状态。
[0303] 现将描述一些实施例的橡皮擦工具的示例性操作。第一阶段2901例示图像编辑 应用程序在图像显示区域410中显示图像2420。在该实例中,第一阶段2901例示已经对图 像2420的区域2910施加亮化效果之后的⑶1400。图像编辑应用程序还在工具显示区域 425中显示图标2915。图标2915表示橡皮擦工具。
[0304] 在阶段2902处,用户选择图标2915,并且图像编辑应用程序响应于对图标2915的 选择而激活橡皮擦工具。在阶段2903处,用户将手指2920放置在图像2420中区域2910 的左侧示出的天空上。下一阶段2904例示用户已经在触摸图像2420时向右拖拽手指2920 越过区域2910。橡皮擦工具递增地从区域2925去除亮化效果,该区域是区域2910和手指 2920所横扫的区域的交集。如图所示,橡皮擦工具已经暗化区域2925。
[0305] 在阶段2904处,用户已经向左侧方向拖拽手指2920。当用户向左拖拽手指2920 时,手指2920再次触摸区域2925。橡皮擦工具进一步暗化区域2925。在该实例中,橡皮擦 工具已经完全除去已经对区域2925施加的亮化效果,使得区域2925返回施加亮化效果之 前的状态。
[0306] 图30概念性地例示一些实施例执行以允许图像编辑应用程序的用户通过摩擦图 像中的区域来将图像处理操作从该区域撤除的过程3000。在一些实施例中,过程3000由图 像编辑应用程序执行。过程3000在图像编辑应用程序在具有触感屏或近触感屏以接收来 自用户的触摸输入(例如,摩擦手势)的计算设备上运行时开始。过程3000在所显示图像 具有已经被施加图像处理操作的区域时开始。
[0307] 过程3000通过以下操作开始:接收(在3005处)致使图像编辑应用程序激活一 些实施例的橡皮擦工具的用户输入。在一些实施例中,此类用户输入包括选择图标(例如, 以上在图29中所示的图标2915)。
[0308] 随后,过程3000确定(在3010处)图像中的区域是否正被触摸。在一些实施例 中,过程3000从计算设备接收或检索触摸信息(例如,触感屏或近触感屏中用户手指正在 触摸的区域的坐标),以便确定图像中的区域是否被触摸。当该过程确定(在3010处)区 域未正被触摸时,过程3000循环回3010以等待用户对所显示图像中的区域的触摸。
[0309] 当过程3000确定(在3010处)区域正被触摸时,该过程前进至3015以确定是否 已经从该区域移开触摸。在一些实施例中,当不再触摸已经被触摸的区域时,过程3000确 定已经从该区域移开触摸。因此,当用户从区域抬起手指或用户已经将手指移动至图像中 的另一区域时,过程3000确定已经从该区域移开触摸。当过程3000确定(在3015处)尚 未从区域移开触摸时,过程3000循环回3015以等待触摸移开。
[0310] 当过程3000确定(在3015处)已经从区域移开触摸时,过程3000确定(在3020 处)该区域是否与被施加图像处理操作的区域重叠。当过程3000确定(在3020处)存在 重叠区域时,过程3000以递增量从该重叠区域撤除(在3025处)图像处理操作。当没有 什么要撤除时,过程3000就不撤除图像处理操作。
[0311] 不同实施例以不同方式确定要去除的图像处理操作的递增量。例如,在一些实施 例中,过程3000基于对重叠区域施加的图像处理操作以预定义的递增值来增大或减小图 像属性值。例如,当已经对重叠区域施加的图像处理操作是亮化操作时,过程3000以预定 义的亮度值S来减小该区域的亮度值。此δ可表示一些图像上刷子工具在每次触摸时所 施加的相同量的亮度值。在一些实施例中,过程3000按百分比增大或减小图像属性值。另 夕卜,在一些实施例中,过程3000使用非线性函数来非线性地增大或减小图像中的区域的图 像属性值。
[0312] 当过程3000确定(在3020处)并不存在重叠区域时,该过程前进至3030。过程 3000确定(在3030处)图像中的另一区域是否正被触摸。当过程3000确定(在3030处) 图像中的另一区域正被触摸时,过程3000循环回3015以等待触摸从此区域移开。当过程 3000确定(在3030处)图像中的另一区域未正被触摸时,过程3000结束。
[0313] 部分II已经描述一些实施例的若干图像上刷子工具。下一部分将描述对图像施 加若干特殊效果的若干图像上工具。
[0314] III.图像h效果工具
[0315] 一些实施例提供允许用户通过选择所显示图像的一部分来施加图像处理操作或 效果的图像上效果工具。这些图像上效果工具不是刷子工具。也就是说,这些图像上效果 工具对不是由刷子工具限定的区域施加效果。
[0316] A.图像h渐夺工具
[0317] 图31概念性地例示允许用户选择性地对图像中的所选择区域的不同部分施加 图像处理操作的一些实施例的图像上效果工具的使用。具体地,此图以五个不同阶段 3101-3105例示用户通过触摸图像来对图像的部分施加渐变效果。图31例示⑶I 400。
[0318] 如上所述,一些实施例中的工具选择窗格420显示表示图像编辑应用程序的不同 编辑工具组的一组图标。工具选择窗格420包括图标3110,在一些实施例中,该图标是工具 选择窗格430中显不的从左侧起的第五个图标。在一些实施例中,工具选择窗格420中显 示的图标3110表示图像上效果工具。当用户选择图标3110时,一些实施例中的图像编辑 应用程序在工具显示区域425 (或⑶I 400的其他部分)中显示表示这些图像上效果工具 的一组可选Π 项目3125。当选择工具之一时(当用户选择表示该工具的图标时),工具被 激活并且将对所显示图像的用户输入视为对所选择工具的输入。
[0319] 在一些实施例中,该组可选UI项目3125是一组缩略图和图标。在一些实施例中, 该组可选Π 项目3125位于在选择图标3110时扇形散开的卡片之一上。关于扇形散开卡 片的更多细节在美国临时专利申请61/607, 574中得到描述。
[0320] 该组可选Π 项目3125中的缩略图和图标表示多种不同效果。例如,Π 项目3130 表示图像上暗色渐变工具。Π 项目3135表示图像上暖色渐变工具。Π 项目3140表示图 像上冷色渐变工具。Π 项目3145表示晕影工具。Π 项目3150表示倾斜偏移工具。工具 中的每个在被激活时对图像中用户通过触摸区域所限定的区域施加效果。
[0321] 现将描述图像上渐变工具的示例性操作。第一阶段3101例示用户通过用手指 3170触摸缩略图3110对该缩略图3110的选择。图像编辑应用程序响应于对缩略图3110 的选择而在图像显示区域410中显示由缩略图3110表示的图像3115。
[0322] 在阶段3102处,用户选择工具选择窗格420中显示的图标3110。作为响应,图像 编辑应用程序在阶段3103处在⑶I 400中显示一组可选Π 项目3125,如图所示。用户通 过触摸UI项目3130来选择图像上暗色渐变工具。图像编辑应用程序激活图像上暗色渐变 工具。
[0323] 在阶段3104处,用户已经用手指3170触摸图像3115顶部附近的位置,或在触摸 图像3115时将手指3170向下拖拽至该位置。图像上暗色渐变工具已经从图像3115的顶 部向手指3170所在的位置施加暗色渐变效果。图像中在手指3170上方的部分被描绘成比 之前更暗,以便指示已经对这个部分施加渐变效果。
[0324] 阶段3105例示用户已经触摸图像中更靠近图像3115的底部的位置或在触摸图 像3115时将手指3170拖拽至此位置之后的⑶I 400。暗色渐变工具已经从手指3170在 前一阶段3104处所在的坚直位置向手指3170在当前阶段3105时的坚直位置施加渐变效 果。图像中在手指3170上方的部分被描绘成比之前更暗,以便指示已经对这个部分施加渐 变效果。
[0325] 在一些实施例中,图像上暗色渐变工具允许用户通过触摸图像中的两个位置来施 加渐变效果。当用户触摸两个位置(上部位置和下部位置)时,图像上暗色渐变工具绘出 穿过两个位置中的每个位置的不可见水平线,并且对图像中位于两条线之间的部分施加渐 变效果。在一些实施例中,这两条线是平行线,并且这两条线之间的距离可通过以下方式来 调节:将用于触摸两个位置的两根手指之一或二者拖拽成更靠近或更远离彼此。此外,在一 些实施例中,图像上暗色渐变工具允许用户使两条线旋转,使得两条线变得不水平。此外, 图像上暗色渐变工具对图像中位于这两条线之间的部分施加不同量的渐变效果。例如,在 一些实施例中,在两条线之一附近的像素变得最暗(例如,表示100%渐变效果)并且靠近 另一条线的像素变得最亮(例如,表示0%渐变效果)。在一些此类实施例中,对部分中的 像素施加的渐变效果的量取决于像素与两条线中的任一条线的接近度。两条线的使用适用 于本申请中所述的其他渐变工具(例如,暖色渐变工具)。
[0326] 图32概念性地例示一些实施例执行以允许图像编辑应用程序的用户对图像施加 渐变效果的过程3200。在一些实施例中,过程3200由图像编辑应用程序执行。过程3200 在图像编辑应用程序在具有触感屏或近触感屏以接收来自用户的触摸输入(例如,轻按、 横扫等)的计算设备上运行时开始。过程3200通过以下操作开始:在图像编辑应用程序的 图像显示区域中显示(在3205处)图像。
[0327] 接着,过程3200接收(在3210处)所显示图像中的位置上的触摸输入。在一些 实施例中,当用户轻按该位置时,过程3200接收该位置上的触摸输入。过程3200在以下情 况时接收触摸输入:用户在触摸所显示图像(例如,在不抬起手指的情况下)时从所显示图 像中的另一个位置拖拽手指。
[0328] 随后,过程3200对图像施加(在3215处)渐变效果。当用户轻按所显示图像中 的位置时,过程3200从图像的顶部向图像中的该位置施加渐变效果。当用户将手指从图像 中的第一位置拖拽至比第一位置更远离图像顶部的第二位置时,过程3200对图像中从图 像的顶部坚直跨越至第二位置的部分施加渐变效果。当已经对图像中从图像的顶部跨越至 第一位置的部分施加渐变效果时,过程3200对图像中从第一位置坚直跨越至第二位置的 部分施加渐变效果。
[0329] 上述若干不同图像上渐变效果工具对图像施加不同渐变效果。在施加时,这些不 同渐变效果提供不同可视特性。例如,图像中被施加"暗色渐变"效果的一部分看起来是暗 色的。"暖色渐变"效果使图像的一部分看起来是"暖色"的。图像上渐变工具通过以不同 方式处理图像的像素来实现这些不同可视特性。接着的四个图(图33-36)例示图像上渐 变效果工具可施加的两种不同示例性渐变效果。
[0330] 图33概念性地例示图像上渐变效果工具的架构,该图像上渐变效果工具对图像 中由用户所选择的部分施加特定渐变效果。具体地,此图例示图像上渐变效果工具施加"蓝 色"渐变效果。如图所示,图33例示渐变效果工具3300、原始图像数据3330以及渐变图像 3335。
[0331] 原始图像3330是施加渐变效果之前所选择图像的图像数据。所选择图像是在图 像编辑应用程序的图像显示区域中显示的图像。渐变图像3335是对图像施加渐变效果所 得的图像的图像数据。在一些实施例中,渐变图像3335是用以执行以从原始图像生成新图 像的指令集。
[0332] 渐变效果工具3300对原始图像施加蓝色渐变效果。渐变效果工具3300包括黑白 图像生成器3305、彩色图像生成器3310、图像混合器3315、渐变计算器3325以及渐变图像 生成器3320。
[0333] 黑白(B/W)图像生成器3305基于原始图像3330生成黑白图像。在一些实施例中, B/W图像生成器3305强调黑白图像中的蓝色。在一些实施例中,B/W图像生成器3305使用 蓝色RGB三元组,例如,(0. 02, 0. 018, 0. 77)。该三元组中的三个数字分别表示原色(即,红 色、绿色以及蓝色)的三条通道。三个数字中的每个具有〇至1的范围,表示颜色的范围。 例如,对于括号中的第一数字,0表示无蓝色,并且1表示最大量的蓝色。本领域的普通技术 人员将认识到,其他范围可以用于RGB值,例如,0-255、0% -100%、0-65535等。
[0334] 为生成强调蓝色的B/W图像,B/W图像生成器3305计算原始图像中的每个像素和 蓝色RGB三元组的平方的点积。此类点积可用以下伪代码来表达 :
[0335] cl = dot (image, rgb, blue, rgb2);
[0336] Image, rgb是原始图像中像素的RGB三元组。Blue, rgb是蓝色RGB三元组。Cl 是点积并且还是所得B/W图像中对应像素的辉度值(brightness value)(例如,亮度值 (luminance value)、RGB总和等)。B/W图像中像素的辉度值具有0至1的(灰度)范围, 其中0是黑色并且1是白色。
[0337] 彩色图像生成器3310将B/W图像生成器3305生成的B/W图像转换成蓝色图像。 在一些实施例中,彩色图像生成器3310通过以下方式生成蓝色图像的每个像素的RGB三元 组:求B/W图像中对应像素的辉度值的平方,用平方辉度值乘蓝色RGB三元组,并且随后使 相乘的结果加倍。这可用以下伪代码来表达:
[0338] bluelmage = 2. 0* (cl2) *blue. rgb ;
[0339] Bluelmage是所生成蓝色图像中的像素的RGB值。
[0340] 图像混合器3315通过使用0-1的灰度将原始图像和蓝色图像混合,以便确保图像 中的亮区保持它们的白色而更暗区域看起来是蓝色。混合可使用以下伪代码实例来执行:
[0341] mixedlmage = mix(originallmage, bluelmage, (1. 0 - cl));
[0342] Mixedlmage是混合图像中的像素的RGB三元组。Originallmage是原始图像中 的对应像素的RGB三元组。Mix ()是函数。不同实施例使用不同mix ()函数。在一些实施 例中,mix〇函数计算三个输入值/三元组的算术平均值。当将三元组与单个值(例如, 1. 0 - cl)进行平均时,将每个值与该单个值进行平均。
[0343] 渐变计算器3325针对原始图像的每个像素计算渐变值。在一些实施例中,渐变计 算器3325基于特定像素在原始图像中的位置来针对该像素计算渐变值。由于一些实施例 中的图像上渐变效果工具基于用户触摸的坚直位置来施加渐变效果,渐变计算器3325基 于特定像素的行数来计算渐变值。针对特定像素计算渐变值还基于所触摸位置的行数和原 始图像的总高度。
[0344] 在一些实施例中,像素的行数是像素的y坐标,其中最顶部的像素(S卩,图像的顶 行像素)具有的y坐标为〇,并且底部像素(即,图像的底行像素)具有的y坐标为总高度 (艮P,图像中一列像素中的像素的数量-1)。也就是说,y坐标从图像的顶行开始。
[0345] 在一些实施例中,当特定像素在用户触摸的坚直位置下方时,渐变计算器3325针 对该特定像素将渐变值设定为0。这用以下伪代码来表达:
[0346] if row>heightTouched
[0347] gradient = 0. 0 ;
[0348] Row是特定像素的y坐标值。HeightTouched是用户触摸(例如,所触摸的一组像 素中的一个或多个坚直中心像素)的y坐标。渐变计算器从来自接收用户触摸的用户界面 模块(未示出)的触摸信息(即,用户输入)得到heightTouched值。
[0349] 在一些实施例中,当特定像素在用户触摸的坚直位置上方时,渐变计算器3325使 用以下伪代码来针对特定像素计算渐变值:
【权利要求】
1. 一种存储用于由至少一个处理单元执行的图像编辑应用程序的非暂态机器可读介 质,所述图像编辑应用程序包括用于以下操作的指令集: 在所述图像编辑应用程序的显示区域中显示图像; 显示与所述图像分开的可旋转用户界面(UI)项目;以及 响应于选择并使所述可旋转Π 项目旋转,使所述图像相对于所述显示区域的边界旋 转。
2. 根据权利要求1所述的机器可读介质,其中所述图像编辑应用程序还包括用于以下 操作的指令集:在使所述可旋转UI项目旋转时回放声音,以便向用户提供使所述可旋转UI 项目旋转的可听指示。
3. 根据权利要求1所述的机器可读介质,其中所述图像编辑应用程序还包括用于以下 操作的指令集:在所述显示区域中显示一组栅格线。
4. 根据权利要求1所述的机器可读介质,其中所述Π 项目包括用以指示使所述图像旋 转的量的标记。
5. 根据权利要求1所述的机器可读介质,其中所述图像编辑应用程序还包括用于以下 操作的指令集:将所述图像的所述旋转保存为用以对所述图像执行以生成旋转后图像的一 组操作。
6. 根据权利要求1所述的机器可读介质,其中所述用户输入是多指触摸输入。
7. 根据权利要求6所述的机器可读介质,其中所述图像编辑应用程序还包括用于以下 操作的指令集:确定所述多指触摸输入是否具有高于阈值的旋转值。
8. 根据权利要求7所述的机器可读介质,其中所述图像编辑应用程序还包括用于以下 操作的指令集:仅在所述多指触摸输入具有高于所述阈值的旋转值时,开始所述可旋转用 户界面项目的旋转。
9. 根据权利要求1所述的机器可读介质,其中所述图像编辑应用程序用于在计算设备 上执行,其中所述用户输入包括所述计算设备的移动。
10. 根据权利要求9所述的机器可读介质,其中所述计算设备具有用于测量所述计算 设备的所述移动的工具。
11. 根据权利要求9所述的机器可读介质,其中所述图像编辑应用程序还包括用于以 下操作的指令集:在移动所述计算设备之前记录所述计算设备的至少一个取向值。
12. 根据权利要求11所述的机器可读介质,其中所述取向值是z轴取向值,其中所述z 轴与所述计算设备的屏幕正交,并且X轴和y轴平行于所述屏幕的侧边。
13. -种存储用于由至少一个处理单元执行的图像编辑应用程序的非暂态机器可读介 质,所述图像编辑应用程序包括用于以下操作的指令集: 识别图像的水平线; 在所述图像编辑应用程序的显示区域中显示所述图像以及所述水平线的指示; 显示用于使所述图像旋转的可选用户界面(UI)项目;以及 响应于对所述可选Π 项目的选择,通过使所述图像的所识别水平线相对于所述显示 区域的边界在同一水平来使所述图像旋转。
14. 根据权利要求13所述的机器可读介质,其中所述Π 项目是第一 Π 项目,其中所述 图像编辑应用程序还包括用于以下操作的指令集: 显示用于消除所述水平线的第二Π 项目; 接收对所述第二Π 项目的选择;以及 响应于接收对所述第二UI项目的所述选择,将所述水平线的所显示指示从所述显示 区域去除。
15. 根据权利要求13所述的机器可读介质,其中所述图像编辑应用程序还包括用于以 下操作的指令集:在使所述图像旋转时缩放所述图像。
16. 根据权利要求13所述的机器可读介质,其中所述图像编辑应用程序还包括用于以 下操作的指令集:在使所述图像旋转时修剪所述图像。
17. -种存储用于由至少一个处理单元执行的图像编辑应用程序的非暂态机器可读介 质,所述图像编辑应用程序包括用于以下操作的指令集: 在所述媒体编辑应用程序的显示区域中显示图像; 接收所述显示区域上的旋转用户输入; 识别所述旋转输入的旋转量;以及 仅在所述旋转量超过阈值时才开始所述图像的旋转。
18. 根据权利要求17所述的机器可读介质,其中所述旋转用户输入是触摸输入。
19. 根据权利要求17所述的机器可读介质,其中所述图像编辑应用程序还包括用于以 下操作的指令集: 在所述显示区域中显示第一组栅格线; 在使所显示图像旋转时,在所述显示区域中显示第二组栅格线。
20. 根据权利要求19所述的机器可读介质,其中在显示所述第一组栅格线和所述第二 组栅格线时,所述第二组栅格线与所述第一组栅格线相比更窄地间隔开。
21. -种存储用于由至少一个处理单元执行的图像编辑应用程序的非暂态机器可读介 质,所述图像编辑应用程序包括用于以下操作的指令集: 在所述图像编辑应用程序的显示区域中显示图像; 使所述图像相对于所述显示区域的边界旋转;以及 在使所述图像旋转时,调节所述图像的缩放水平,使得所述图像的边界不显示在所述 显示区域中。
22. 根据权利要求21所述的机器可读介质,其中用于使所述图像旋转的所述指令集包 括用于以下操作的指令集:修剪所述图像因所述缩放而落在所述显示区域外的部分。
23. 根据权利要求21所述的机器可读介质,其中所述用户输入是多点触摸输入。
24. -种存储程序的非暂态机器可读介质,所述程序在由至少一个处理单元执行时提 供用于编辑图像的图形用户界面(GUI),所述GUI包括: 显示区域,所述显示区域用于显示图像; 一组可选用户界面(UI)项目,所述一组可选用户界面(UI)项目表示不同纵横比;和 修剪工具,所述修剪工具用于:(i)识别所述图像中的一组面部,以及(ii)响应于接收 到对在预设选择区域中显示的可选Π 项目的选择,基于所选择Π 项目所表示的纵横比而 对在所述显示区域中显示的所述图像进行修剪,使得所识别面部在所修剪后图像中居中。
25. 根据权利要求24所述的机器可读介质,其中所述一组可选Π 项目是所述图像的缩 略图,其中所识别面部在每个缩略图中居中。
26. -种存储程序的非暂态机器可读介质,所述程序在由至少一个处理单元执行时提 供用于编辑图像的图形用户界面(GUI),所述GUI包括: 显示区域,所述显示区域用于显示图像;和 图像处理工具,所述图像处理工具用于:(i)在保持所述显示区域上的触摸时,接收所 述图像中的区域上的多个触摸输入;以及(ii)每次所述区域接收到触摸输入时,递增地对 所述区域施加效果。
27. 根据权利要求26所述的机器可读介质,其中图像处理工具还用来接收对所述效果 的选择。
28. 根据权利要求26所述的机器可读介质,其中所述图像处理工具递增地施加所述效 果仅直至所述图像处理工具接收到阈值数的触摸输入。
29. 根据权利要求26所述的机器可读介质,其中在所述区域第一次接收到触摸输入时 对所述区域施加的所述效果的量不同于在所述区域第二次接收到触摸输入时对所述区域 施加的所述效果的量。
30. 根据权利要求26所述的机器可读介质,其中所述图像处理工具对图像中的所述区 域施加的所述效果包括下列中的至少一者:饱和效果、去饱和效果、亮化效果、暗化效果、锐 化效果和柔化效果。
31. 根据权利要求26所述的机器可读介质,其中所述CTI还包括表示不同效果的一组 可选用户界面项目,其中所述图像处理工具响应于接收到对表示所述效果的用户界面项目 的选择而选择所述效果。
32. -种存储用于由至少一个处理单元执行的程序的非暂态机器可读介质,所述程序 包括用于以下操作的指令集: 在显示区域中显示图像,所述图像包括多个像素; 接收所述图像的一组像素上的多个触摸输入;以及 每次所述一组像素接收到触摸输入时,递增地对所述一组像素施加图像处理操作。
33. 根据权利要求32所述的机器可读介质,其中用于递增地施加所述图像处理操作的 所述指令集包括用于以下操作的指令集:每次所述一组像素接收到触摸输入时施加不同量 的所述图像处理操作。
34. 根据权利要求32所述的机器可读介质,其中用于递增地施加所述图像处理操作的 所述指令集包括用于以下操作的指令集:每次所述一组像素接收到触摸输入时线性地改变 所述图像处理操作的量。
35. 根据权利要求32所述的机器可读介质,其中用于递增地施加所述图像处理操作的 所述指令集包括用于以下操作的指令集:每次所述一组像素接收到触摸输入时非线性地改 变所述图像处理操作的量。
36. 根据权利要求32所述的机器可读介质,其中用于递增地施加所述图像处理操作的 所述指令集包括用于以下操作的指令集:施加所述图像处理操作仅直至所述图像处理工具 接收到阈值数的用户输入。
37. 根据权利要求32所述的机器可读介质,其中所述程序还包括用于以下操作的指令 集:指定给所述图像的每个像素以掩码值。
38. 根据权利要求37所述的机器可读介质,其中用于递增地施加所述图像处理操作的 所述指令集包括用于以下操作的指令集:改变所述一组像素的所述掩码值。
39. -种存储程序的非暂态机器可读介质,所述程序在由至少一个处理单元执行时提 供用于编辑图像的图形用户界面(GUI),所述GUI包括: 显示区域,所述显示区域用于显示包括多个像素的图像; 工具,所述工具用于:(i)接收对所显示图像的一组像素的选择,(ii)基于所选择像素 的第一子集确定一组准则,以及(ii)仅对所选择像素的满足所述准则的第二子集施加图 像处理操作。
40. 根据权利要求40所述的机器可读介质,其中所述一组准则包括像素是否具有落在 像素值的范围内的像素值。
41. 根据权利要求40所述的机器可读介质,其中每次所述区域接收到用户输入时,所 述工具递增地施加所述图像处理操作。
42. -种存储用于由至少一个处理单元执行的程序的非暂态机器可读介质,所述程序 包括用于以下操作的指令集: 在显示区域中显示图像,所述图像包括多个像素; 接收对所述图像中的区域的选择; 基于所述图像中的所选择区域中像素的子集的属性,识别用于确定像素的类似性的一 组准则;以及 仅对所选择区域内满足所识别准则的像素执行图像处理操作。
43. 根据权利要求42所述的机器可读介质,其中用于识别所述一组准则的所述指令集 包括用于以下操作的指令集:将所述区域内的所述像素的像素值从RGB颜色模型值转换成 LAB空间值。
44. 根据权利要求43所述的机器可读介质,其中用于识别所述一组准则的所述指令集 还包括用于以下操作的指令集:确定所述区域中的像素是否在与特定一组像素相距的预定 义的距离内。
45. 根据权利要求44所述的机器可读介质,其中所述特定一组像素是在选择所述区域 中的其他像素之前所选择的像素。
46. 根据权利要求42所述的机器可读介质,其中所述用户输入是触摸输入。
47. -种用于提供图像编辑应用程序的方法,所述方法包括: 提供用于显示图像的显示区域;以及 提供图像处理工具,所述图像处理工具用于:(i)在保持所述显示区域上的触摸时,接 收所述图像中的区域上的多个触摸输入,以及(ii)每次所述区域接收到触摸输入时,递增 地对所述区域施加效果。
48. 根据权利要求47所述的方法,其中所述图像处理工具递增地施加所述效果仅直至 所述图像处理工具接收到阈值数的触摸输入。
49. 根据权利要求47所述的方法,其中在所述区域第一次接收到触摸输入时对所述区 域施加的所述效果的量不同于在所述区域第二次接收到触摸输入时对所述区域施加的所 述效果的量。
50. 根据权利要求47所述的方法,其中图像处理工具还用于接收对所述效果的选择。
51. -种存储程序的非暂态机器可读介质,所述程序在由计算设备的至少一个处理单 元执行时提供用于编辑图像的图形用户界面(Gn),所述⑶I包括: 显示区域,所述显示区域用于显示图像;和 图像处理工具,所述图像处理工具用于:(i)接收对所述图像中的位置的选择,(ii)基 于所述位置限定要施加效果的区域,所限定区域包括所述图像中不包括所述位置的部分, 以及(iii)对所限定区域施加所述效果。
52. 根据权利要求51所述的机器可读介质,其中所述图像处理工具不包括用来覆盖所 显示图像的可见用户界面项目。
53. 根据权利要求51所述的机器可读介质,其中所述图像处理工具包括用来覆盖所显 示图像的用户界面项目。
54. 根据权利要求53所述的机器可读介质,其中所述用户界面项目包括上水平线和下 水平线。
55. 根据权利要求54所述的机器可读介质,其中所述区域包括所述图像中在所述上水 平线上方的第一区域和所述图像中在所述下水平线下方的第二区域。
56. 根据权利要求55所述的机器可读介质,其中所述图像处理工具对所述区域施加的 所述效果是模糊效果。
57. 根据权利要求54所述的机器可读介质,其中所述图像处理工具基于用户输入来调 节所述上线和所述下线之间的距离。
58. 根据权利要求51所述的机器可读介质,其中所述图像处理工具对整个所述图像施 加所述效果。
59. 根据权利要求51所述的机器可读介质,其中所述图像处理工具不对包括所述图像 中的所述位置的另一区域施加所述效果。
60. 根据权利要求51所述的机器可读介质,其中所述图像包括多个像素,其中所述图 像处理工具基于所述区域内的所述像素远离所述图像中的所述位置的距离来对所述像素 施加不同的效果量。
61. 根据权利要求51所述的机器可读介质,其中所述效果包括下列中的至少一者:暗 化效果、模糊效果、渐变效果。
62. -种存储用于由至少一个处理单元执行的程序的非暂态机器可读介质,所述程序 包括用于以下操作的指令集: 在显示区域中显示图像; 响应于接收到所显示图像中的位置处的触摸输入,基于所述位置限定要施加效果的区 域,所限定区域包括图像的不包括所述位置的部分;以及 对所限定区域施加所述效果。
63. 根据权利要求62所述的机器可读介质,其中所述图像包括多个像素,其中所述区 域包括不在与所述图像中的所述位置相距的预定义的距离内的像素。
64. 根据权利要求63所述的机器可读介质,其中用于施加所述效果的所述指令集包括 用于以下操作的指令集:基于用户输入来调节所述距离。
65. 根据权利要求62所述的机器可读介质,其中所述效果是暗化效果。
66. 根据权利要求62所述的机器可读介质,其中所述区域位于所述图像中的所述位置 的坚直上方。
67. 根据权利要求62所述的机器可读介质,其中所述程序还包括用于以下操作的指令 集:使位于所述图像中的所述位置坚直下方的区域原封不动。
68. 根据权利要求62所述的机器可读介质,其中所述效果是渐变效果。
69. -种存储用于由至少一个处理单元执行的程序的非暂态机器可读介质,所述程序 包括用于以下操作的指令集: 接收原始图像中的位置处的用户输入; 基于所述原始图像生成中间图像; 基于所述位置来针对所述原始图像的每个像素计算要对所述像素施加的效果的程度; 以及 使用所计算的渐变值来将所述原始图像和所述中间图像融合。
70. 根据权利要求69所述的机器可读介质,其中用于生成所述中间图像的所述指令集 包括用于以下操作的指令集:强调所述中间图像中的颜色。
71. 根据权利要求70所述的机器可读介质,其中所强调的颜色是蓝色。
72. 根据权利要求70所述的机器可读介质,其中用于强调所述中间图像中的颜色的所 述指令集包括用于以下操作的指令集:使用RGB三元组,所述RGB三元组的蓝色值与红色值 和绿色值相差至少一个数量级。
73. 根据权利要求69所述的机器可读介质,其中用于生成所述中间图像的所述指令集 包括用于以下操作的指令集: 基于所述原始图像生成第一图像;以及 将所述第一图像与所述原始图像混合以生成所述中间图像。
74. 根据权利要求73所述的机器可读介质,其中所述第一图像是黑白图像。
75. 根据权利要求73所述的机器可读介质,其中用于将所述第一图像与所述原始图像 混合的所述指令集包括用于以下操作的指令集:使用RGB三元组,所述RGB三元组的红色值 和绿色值大于所述RGB三元组的蓝色值。
76. -种用于编辑包括多个像素的原始图像的计算机实现的系统,所述系统包括: 第一模块,所述第一模块用于接收所述原始图像中的位置处的用户输入; 第二模块,所述第二模块用于基于所述原始图像生成中间图像; 第三模块,所述第三模块用于基于所述位置来针对所述原始图像的每个像素计算要对 所述像素施加的效果的量;和 第四模块,所述第四模块用于使用所计算的渐变值来将所述原始图像和所述中间图像 融合。
77. 根据权利要求76所述的机器可读介质,其中所述第三模块使用所述原始图像的高 度来计算所述渐变值。
78. 根据权利要求76所述的机器可读介质,其中所述第四模块使用公式: gradlmage = originallmage*(1 - gradient)+intermediatelmage*gradient, 以便将所述原始图像和所述中间图像融合,其中gradlmage是所述融合图像中对应 像素的RGB三元组,其中original Image是所述原始图像的所述像素的RGB三元组,其中 intermediatelmage是所述中间图像中对应像素的RGB三元组,其中gradient是针对所述 原始图像的所述像素计算的所述渐变值。
79. -种存储用于由至少一个处理单元执行的程序的非暂态机器可读介质,所述程序 包括用于以下操作的指令集: 在显示区域中显示图像; 接收所显示图像上的定向触摸输入; 基于所述定向触摸输入来限定所显示图像内的区域;以及 通过沿着所述定向触摸输入的方向改变图像处理操作的程度,对所限定区域施加所述 图像处理操作。
80. 根据权利要求79所述的机器可读介质,所述程序还包括用于以下操作的指令集: 接收所显示图像上的位置处的触摸输入;以及 沿着来自所述图像上的所述位置的两个或更多个方向调节所述图像的暗度。
81. 根据权利要求79所述的机器可读介质,所述程序还包括用于以下操作的指令集: 基于所述位置来限定所述图像中的第一区域;以及 对所述图像中不同于所述第一区域的第二区域施加模糊效果。
【文档编号】H04N1/387GK104247390SQ201280072323
【公开日】2014年12月24日 申请日期:2012年12月28日 优先权日:2012年3月6日
【发明者】R·乌比洛斯, T·D·歇尔纳, 孙泽航, R·T·布伦纳, A·加泰, G·M·约翰逊 申请人:苹果公司