CN109544669B - 使用加权的颜色点的扩散着色 - Google Patents
使用加权的颜色点的扩散着色 Download PDFInfo
- Publication number
- CN109544669B CN109544669B CN201810822250.1A CN201810822250A CN109544669B CN 109544669 B CN109544669 B CN 109544669B CN 201810822250 A CN201810822250 A CN 201810822250A CN 109544669 B CN109544669 B CN 109544669B
- Authority
- CN
- China
- Prior art keywords
- color
- vertices
- geometry
- handle
- pixel
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/20—Contour coding, e.g. using detection of edges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
自动化过程使用颜色点来提供矢量图形的扩散着色,颜色点在用户看来是颜色句柄。计算设备以编程方式从用户接收在由曲线集合指定的源几何图形内建立多个颜色句柄的输入。计算设备限定具有贯穿源几何图形分布的多个顶点的网格。确定多个顶点中的每个顶点处的合成颜色,并且通过在多个顶点处的合成颜色之间进行插值来以编程方式为源几何图形内的每个像素设置扩散像素颜色。
Description
技术领域
本公开总体上涉及数字插图(illustration)领域。更具体地,本公开涉及用于将平滑着色的颜色添加到在图形设计(诸如用于网站和打印介质)中使用的类型的矢量图形插图并且改变矢量图形插图的这些颜色的处理技术。
背景技术
设计软件应用是用于图形设计、多媒体开发、专业图像开发、图像编辑或简单地访问图形文件的应用软件的子类。传统的设计应用利用光栅或矢量图形读取和编辑方法来创建、编辑和查看数字媒体(例如,动画、图形、图像、设计、媒体对象等)。诸如图形程序等一些传统的设计应用专注于矢量或光栅图形,但有一些应用对它们进行组合。矢量图形的优点包括图形数据的高效存储和易于缩放以适应跨越很多不同显示设备和媒体类型的各种分辨率。
矢量图形艺术品的几何图形可以由三次贝塞尔曲线的集合来定义。这样的艺术品的着色可以通过填充和渐变来完成。然而,这种情况下的着色可能在复杂性上受到限制。如果用户改变艺术品的几何图形,则这样的渐变和填充也与总的艺术品几何图形解耦合并且通常必须手动重做,从而限制了用户的创造力和表现力。
通过允许用户创建扩散曲线,可以获取更复杂的着色。扩散曲线是用于创建平滑着色图像的矢量图形基元。每条扩散曲线划分该曲线被绘制穿过的几何图形空间,以在两侧限定不同的颜色。在被渲染时,这些颜色然后以类似于扩散的方式蔓延到曲线两侧的区域中。颜色也可以被限定为沿着曲线平滑地变化,并且也可以对从曲线的一侧到另一侧的颜色过渡的锐度进行指定。尽管扩散曲线提供了丰富的着色模型,但是它们的使用并不直观,并且难以在创建时控制颜色值。使用扩散曲线必须在每当进行改变时为艺术品的每个像素计算颜色,这在计算上是昂贵的。
发明内容
用于使用加权颜色点的扩散着色的某些实施例涉及以编程方式从用户接收在由曲线集合指定的源几何图形内建立多个颜色句柄的输入。限定贯穿源几何图形分布的多个顶点。通过计算由多个颜色句柄贡献的颜色值的加权和来确定多个顶点中的每个顶点处的合成颜色。通过在多个顶点处的合成颜色之间进行插值来以编程方式为源几何图形内的多个像素中的每个像素设置扩散像素颜色。以编程方式产生经渲染的几何图形,其中经渲染的几何图形由该组曲线指定并且包括针对每个像素的扩散像素颜色。
提及这些说明性实施例不是为了限制或限定本公开,而是提供示例以帮助理解本公开。在详细描述中讨论了另外的实施例,并且在详细描述中提供了进一步的描述。
附图说明
本专利或申请文件包含至少一幅彩色附图。具有彩色附图的本专利或专利申请公开的副本将在请求和支付必要费用之后由主管局提供。
当参考附图阅读以下详细描述时,可以更好地理解本公开的特征、实施例和优点,在附图中:
图1描绘了根据一些实施例的具有颜色句柄和由颜色句柄产生的扩散着色的艺术品几何图形的示例。
图2是描绘根据某些实施例的其中实践使用加权颜色点的扩散着色的系统和计算环境的示例的图。
图3是描绘根据一些实施例的使用加权颜色点进行扩散着色的过程的示例的流程图。
图4是描绘根据某些实施例的使用加权颜色点进行扩散着色的过程的另一示例的流程图。
图5A和图5B描绘了根据一些实施例的具有颜色句柄的艺术品形状、在形状的覆盖范围内的由颜色句柄产生的扩散着色、以及在数学上遍布该形状延伸的网格的示例。
图6A、图6B、图6C和图6D描绘了具有颜色句柄的艺术品形状的示例,并且示出了根据某些实施例的当颜色句柄被移动或删除时由颜色句柄产生的扩散颜色如何改变。
图7描绘了艺术品形状的示例并且示出了根据一些实施例的使用加权颜色点的扩散着色如何随着不同的质量参数值而改变。
具体实施方式
如上所述,矢量图形艺术品的几何图形可以由三次贝塞尔(Bezier)曲线集合限定。这样的艺术品的着色可以通过填充和渐变来完成。然而,这种情况下的着色可能在复杂性上受到限制。通过允许用户创建扩散曲线从而获取更复杂的着色,这种扩散曲线在使用上并不直观并且在计算上是昂贵的。
本文中公开了用于使用颜色点对矢量图形艺术品进行扩散着色的技术,这些颜色点在用户看来是直观的“颜色句柄”,并且提供扩散着色而不对艺术品中每个像素的颜色进行复杂的计算。例如,矢量图形插图应用接收用户输入,该用户输入用于创建或选择用于着色的样条或曲线(艺术品)集合。矢量图形插图应用基于样条或曲线来限定贯穿源几何图形(即,被操纵的艺术品)分布的顶点集合。用户选择要应用于所选择的艺术品的颜色。用户通过在曲线几何图形内的任何位置应用颜色来限定颜色句柄,例如,通过轻敲(tap)或点击曲线几何图形内的任何位置以添加颜色点。矢量图形插图应用接受这些用户动作作为输入,并且产生扩散着色以作为响应。初始颜色点将根据所选择的颜色为整个艺术品着色。但是,每添加一个附加颜色句柄,将根据整个艺术品中的所有现有颜色句柄自动计算颜色,并且立即或几乎立即向用户呈现彩色艺术品。例如,矢量图形插图应用计算该组顶点的合成颜色值。这些颜色值是根据由用户添加到艺术品中的各种颜色句柄所贡献的颜色值来计算的。矢量图形插图应用在顶点处的颜色值之间进行插值,以获取艺术品的各种像素的扩散像素颜色。矢量图形插图应用产生具有扩散像素颜色的经渲染的几何图形。经渲染的几何图形包括根据由用户为每个颜色句柄限定的颜色句柄权重而被平滑地混合的所有颜色、以及经渲染的几何图形内颜色句柄的位置。
在放置颜色句柄之后,矢量图形插图应用允许用户将任何现有颜色句柄拖动到形状的几何图形内的新位置,合成颜色被重新计算以反映颜色点的新位置,并且经渲染的几何图形被几乎立即呈现。用户可以为颜色点选择新颜色,例如,通过轻敲或点击现有颜色句柄以更改其颜色。用户可以删除现有的颜色点,例如,通过双击或双敲(double tapping)颜色句柄。如果用户编辑几何图形,则矢量图形插图应用将重新计算新几何图形上的颜色,并且产生新的经渲染的几何图形,其具有平滑地混合的已更新的颜色。
本文中公开的技术提供了用于矢量图形的丰富且直观的着色的解决方案。如本文中描述的颜色句柄与矢量图形中的传统形状覆盖范围概念协调地工作,从而产生可预测且直观的结果。提供了一种用于控制渲染的几何图形的颜色的简单用户界面,其中颜色本质上受到形状覆盖范围的限制。输出几何图形使用与源相同的曲线来限定,并且易于编辑。此外,通过对形状几何图形的任何修改,颜色被自动重新计算。合成颜色是形状感知的,即,颜色根据下面的几何图形和形状部分距每个颜色句柄的测地距离而被扩散。本文中描述的技术在可用的计算能力和合成艺术的质量之间取得了平衡。
贯穿本公开,术语“颜色句柄”是指呈现设备上出现的可以由用户操纵的图形构造。术语“颜色点”用于指代存储在存储器中的关于颜色句柄操纵的艺术品中的特定点的数学和参数信息。应当注意,在一些文本上下文中,这些术语可以互换,而不会改变文本的含义。术语“艺术品”、“几何图形”和“艺术品几何图形”是指在实现本发明实施例的软件应用中已经或正在应用颜色的图形图像。术语“形状”可以具有相同的含义,但是也可以调用对图形图像的特定轮廓的引用。形容词“源”是指在添加扩散颜色之前最初限定的艺术品、几何图形或形状,形容词“经渲染的”是指添加了扩散颜色的在视觉上相似或相同的艺术品。其他术语具有其在本领域中的普通和惯常的含义,或者在使用时被隐式或显式地限定。
现在参考附图,图1呈现了被示出为在计算机系统呈现设备上的示例艺术品几何图形100,其具有颜色句柄102、104、106和108,并且具有由颜色句柄产生的扩散颜色。每个颜色句柄处所示的颜色是颜色句柄所选择的颜色。在这个特定示例中,每个颜色句柄被描绘为菱形,并且菱形内部的颜色是所选择的颜色。顶部颜色句柄102限定黄色颜色点,底部颜色句柄106限定深橙色颜色点,并且在“火焰”的两侧的颜色句柄104和108限定浅橙色颜色点,指派给其的颜色被全部混合在一起以赋予形状逼真的色彩。当眼睛在句柄之间徘徊时,每个颜色句柄的颜色被平滑地混合。由句柄限定的颜色点与传统的形状覆盖范围概念协调地工作。因此,它们可以产生可预测且直观的结果;用户很容易控制输出,因为它本身受到形状的覆盖范围的限制。如果颜色句柄被移动,则混合的外观会相应地改变,艺术品的形状发生变化的情况也是如此。
可以使用任何合适的计算系统或计算系统组来执行本文中描述的操作。例如,图2描绘了使用加权颜色点来执行具有扩散着色的矢量图形程序的系统200。系统200包括计算设备201,计算设备201又包括通信地耦合到一个或多个存储器设备204的处理器202。处理器202执行存储在存储器设备204中的计算机可执行程序代码,访问存储在存储器设备204中的信息,或两者。处理器202的示例包括微处理器、专用集成电路(“ASIC”)、现场可编程门阵列(“FPGA”)或任何其他合适的处理设备。处理器202可以包括任何数目的处理设备(包括单个处理设备)。存储器设备204包括用于存储数据、程序代码或两者的任何合适的非暂态计算机可读介质。计算机可读介质可以包括能够向处理器提供计算机可读指令或其他程序代码的任何电子、光学、磁性或其他存储设备。计算机可读介质的非限制性示例包括磁盘、存储器芯片、ROM、RAM、ASIC、光学存储装置、磁带或其他磁存储装置、或者处理设备可以从其读取指令的任何其他介质。指令可以包括由编译器或解释器从以任何合适的计算机编程语言(包括例如C、C++、C#、Visual Basic、Java、Python、Perl、JavaScript 和ActionScript)编写的代码生成的处理器特定指令。
仍然参考图2,系统200还可以包括多个外部或内部设备,诸如输入或输出设备。例如,计算设备201被示出为具有一个或多个输入/输出(“I/O”)接口206。I/O接口206可以从输入设备接收输入或者向输出设备(未示出)提供输出。一个或多个总线208也被包括在计算设备201中。总线208通信地耦合计算设备201中相应的一个计算设备的一个或多个组件。处理器202执行程序代码,其配置计算设备201以执行本文中描述的一个或多个操作。程序代码包括例如矢量图形插图应用210、或者执行本文中描述的一个或多个操作的其他合适的应用。程序代码可以驻留在存储器设备204或任何合适的计算机可读介质中,并且可以由处理器202或任何其他合适的处理器执行。存储器设备204还可以用于存储艺术品限定216、通常使用来自本文中描述的颜色句柄的用户输入而创建的颜色点限定218、以及可以是默认值或经由来自用户的输入而设置的值的质量参数219。
图2的系统200还包括网络接口设备212。网络接口设备212包括适合于建立到一个或多个数据网络214的有线或无线数据连接的任何设备或设备组。网络接口设备212的非限制性示例包括以太网适配器、调制解调器等。系统200能够使用网络接口设备212以经由数据网络214来与一个或多个其他计算设备(例如,执行矢量图形应用的另一计算设备,未示出)通信。虽然网络接口设备212被示出为连接到网络214,网络214是用于本公开的目的的系统200的可选部分,但是网络接口设备212也可以连接到远离系统200的其他网络和设备。
继续参考图2,在一些实施例中,计算设备201还包括图2中描绘的呈现设备215。呈现设备215可以包括适合于提供视觉、听觉或其他合适的感觉输出的任何设备或设备组。在示例实施例中,呈现设备215向用户显示艺术品几何图形、颜色和颜色句柄。呈现设备215的非限制性示例包括触摸屏、显示器、单独的移动计算设备等。在一些方面,呈现设备215可以包括远程客户端计算设备,其使用本文中描述的一个或多个数据网络214与系统200通信。数据网络214还可以将计算设备201连接到网络存储设备224,网络存储设备224可以用作存储的艺术品的储存库以用于与矢量图形插图应用210以及用于分发的矢量图形应用的已更新或已存档版本一起使用。与存储器设备204类似,网络存储设备224可以包括用于存储数据、程序代码或两者的任何合适的非暂态计算机可读介质。
图3是描绘用于使用加权颜色点进行扩散着色的过程300的示例的流程图,其中计算设备通过执行合适的程序代码来执行该过程。在框302处,例如通过I/O接口206从用户接收在由曲线集合指定的源几何图形内建立多个颜色句柄的输入。在框304处,由处理器202执行矢量图形插图应用210来限定贯穿源几何图形分布的多个顶点。在框306处,使用处理器202执行矢量图形插图应用210,计算设备通过计算由多个颜色句柄贡献的颜色值的加权和来确定多个顶点中的每个顶点处的合成颜色。在框308处,使用处理器202执行矢量图形插图应用210,计算设备通过在多个顶点的合成颜色之间进行插值来为源几何图形内的多个像素中的每个像素设置扩散像素颜色。在框310处,产生由相同的曲线集合指定的经渲染的几何图形,并且将其显示在呈现设备215上。经渲染的几何图形包括针对每个像素的扩散像素颜色。
图4是描绘根据某些实施例的用于使用加权颜色点进行扩散着色的示例过程400的流程图。框402、404、406和408示出了如上面参考图3的框302描述的建立颜色句柄的示例实现。在框402处,计算设备201接收输入,该输入指示用户对限定要着色的源几何图形(“艺术品”或“几何图形”)的三次贝塞尔样条集合的创建或选择。在框404处,计算设备201接收在几何图形内建立颜色句柄的用户输入。在一个示例中,用户输入涉及在曲线几何图形内的任何位置轻敲或点击以添加颜色句柄。可选地,用户可以输入颜色句柄权重、以及颜色句柄位置和颜色句柄颜色。在框406处,计算设备201创建并且存储斯坦纳(Steiner)点以用作颜色句柄所连接到的颜色点。在框408处,如果存在附加的颜色句柄,则以与刚刚描述的相同的方式来输入它们。多个颜色点中的每个颜色点的位置由Steiner点限定。在框410处,可选地,用户可以在任何时间限定一个或多个质量参数。质量参数将参考图7更详细地讨论。
图4的框412和414示出了分别如上面参考图3的框304和306所描述的限定网格的顶点以及确定网格的每个顶点处的合成颜色的示例实现。在框412处,可以将输入几何图形平面化,并且然后应用偏移以获取鲁棒性,使得边界曲线不会由于采样而过度平坦化。然后可以取决于输入质量参数沿着曲线自适应地对点进行采样。考虑到Steiner点,由计算设备201使用一致的狄洛尼(Delaunay)三角剖分来产生三角网格。应用与原始几何图形相同的剪切路径以基于几何图形中的边界来界定三角网格以获取平滑边缘。三角网格限定整个几何图形中的顶点。在框414处,通过计算由每个颜色点贡献的颜色值的加权和来确定三角网格的每个顶点处的合成颜色。每个颜色点具有相应的权重,并且网格顶点处的权重被建模为谐波、二次谐波或三次谐波方程的解,其取决于质量参数。质量参数还可以包括用于这些颜色句柄中的每个的用户限定的相对强度。一旦为网格的每个顶点计算权重,每个网格顶点处的最终颜色是权重(被计算为谐波、二次谐波或三次谐波方程的解)与为输入颜色句柄指定的相应颜色强度的线性组合。第j顶点的颜色被计算为加权和:
仍然参考图4,在框416处,也如关于图3的框308描述的,通过在顶点处的合成颜色之间进行插值来为几何图形内的每个像素设置扩散像素颜色。在框418处,也如关于图3的框310描述的,利用平滑的扩散像素颜色来产生由与输入几何图形相同的三次贝塞尔样条指定的渲染的几何图形。该彩色几何图形可以由计算设备201显示在呈现设备215上。如果用户在框420处进行改变,则在框422处使用所有或一些上述技术(这取决于被改变的内容)重新计算颜色。例如,用户可以将任何现有颜色句柄拖动到形状的几何图形内的新位置,并且合成颜色被重新计算以反映相应颜色点的新位置。用户可以选择新颜色,并且然后轻敲或点击现有颜色点以更改其颜色。更新颜色点的颜色,并且向用户呈现已更新的结果。用户可以对现有颜色点进行操作以将其去除,例如,通过双击或双敲。如果用户编辑三次贝塞尔样条曲线的几何图形,则颜色在新几何图形上被重新计算并且被呈现给用户。因此,系统可以连续地处理输入,包括颜色句柄颜色、颜色句柄权重、颜色句柄位置、或者对这些中的任何一个或全部的改变、以及对源几何图形的改变。每个顶点处的合成颜色由计算设备中的处理器重新计算,并且针对每个像素的扩散像素颜色被显示。
作为图4的过程400之后的细节的示例,考虑使用二次谐波方程以使用加权颜色点来创建扩散着色的下面的详细示例。这个示例对应于在一些示例中可以被视为正常或默认质量参数的内容。wi表示在整个域上限定第i个颜色句柄的权重的函数。在任何点处的最终颜色因此是与第i个颜色句柄相对应的颜色值的加权和:
为了获取平滑的阴影图像,与每个颜色句柄相对应的权重函数wi被建模为二次谐波方程的解:
以上相当于最小化拉普拉斯能量:
给上面等式添加一组线性约束:
为了进行扩散着色过程,拉普拉斯能量(3)使用标准线性FEM拉普拉斯M-1L被离散化,其中M是集总质量矩阵,并且L是对称刚度矩阵(即,余切拉普拉斯算子):
图5A和图5B示出了在中间具有开放空间的艺术品几何图形500的视图。在图5A的视图中,如其将向用户呈现的一样,示出了具有扩散着色的几何图形。在图5B的视图中,示出了相应的低层三角网格。这个艺术品几何图形具有三个颜色句柄:颜色句柄502、颜色句柄504和颜色句柄506。注意,三角网格展示了可以容纳带有孔的艺术品的形状覆盖区域,而至少一些传统的着色矢量图形方法(诸如基于网格的渐变网格)则没有。三角网格可以以PDF格式表示为类型4阴影(自由形式的高洛德(Gouraud)阴影三角网格)。这个表示在支持PDF矢量图形的应用中渲染为本机PDF构造,并且因此支持打印工作流程。合成几何图形不是源艺术树的一部分,而是渲染艺术树的一部分,并且因此上面列出的所有操作对输入几何图形都是非破坏性的。由用户选择的原始曲线不会被修改,并且仍可用于作为普通Bezier样条进行编辑。用户可以更改曲线的几何图形,或者可以更改颜色句柄的位置,隐含地导致网格的再生,并且这种再生对于用户是透明的。
图2的关于颜色点及其位置的信息218关于所选择的曲线被存储在标准化的协调空间中。本文中描述的扩散着色过程与在PDF标准第7章中规定的传统的形状覆盖范围概念协调地工作。因此,它产生可预测且直观的结果;用户可以容易地控制输出,因为输出本身受到形状的覆盖范围的限制。
图6A、图6B、图6C和图6D示出了当改变颜色句柄时根据示例实施例的形状感知扩散着色。从图6A中的视图开始,存在颜色句柄602、颜色句柄604和颜色句柄606。颜色句柄602已经被指定黄色。颜色句柄604已经被指定浅绿色。颜色句柄606已经被指定紫红色。由于所有颜色句柄都在形状601的边缘附近,因此三种颜色倾向于朝向形状的中间混合在一起。在图6B的视图中,颜色句柄602(黄色句柄)已经朝向形状的水平中间移动,并且颜色句柄604已经移动到左下方。这个更改将形状601的上部区域渲染为完全黄色,因为在形状的上半部分仅存在黄色句柄。类似地,颜色句柄604现在将形状601的左腿渲染为浅绿色。颜色流(源自相应的颜色句柄)取决于沿着形状几何图形的连接组件之间的测地距离。当手和脚没有直接连接在形状拓扑中时,从手到脚的颜色流过身体。这个差异可以在图6A和6C的视图之间可视化。在图6A的视图中,由于浅绿色和黄色句柄之间的交互,存在突出的绿色区域。紫红色句柄与浅绿色和黄色句柄在测地线上距离较远,并且因此贡献较少。在图6C的视图中,全部三色句柄:黄色、紫红色和浅绿色(在距中央相同的测地距离处)交互并且因此产生所有三种颜色的混合(而不是作为紫红色和浅绿色的混合的绿色)。
继续图6A至图6D,在图6C的视图中,颜色句柄602已经被返回到形状601的左臂,以将手臂顶部渲染为黄色。来自其他颜色句柄的颜色现在基于距离而扩散到形状的右侧。在图6D的视图中,颜色句柄602已经被移除。整个形状是在形状的底部处的颜色句柄604和606的扩散。因此,在形状的顶部的中央附近的颜色是紫色的上色、颜色句柄606的紫红色和颜色句柄604的浅绿色的基本上相等的扩散。
图7示出了表700,其示出了质量参数的变化的影响。在表的左下侧是表的行的标签,每行对应于低、正常或高质量参数,在一些示例中,参数可以由用户选择并且可以在任何时间改变。在这样的示例中,颜色值的加权和由谐波、二次谐波或三次谐波方程(由这个质量参数确定)的解来确定。在这些示例中,质量参数的“低”值对应于使用谐波方程来计算网格顶点处的权重。“正常”值对应于使用二次谐波方程来计算网格顶点处的权重。并且“高”值质量参数对应于使用三次谐波方程来计算网格顶点处的权重。较高质量值将导致渲染更平滑,但是计算效率会降低。在一些示例中,用户还可以指定大、中或小网格尺寸并且这些选项被标记在图7的顶部附近并且对应于表700的列。较小的网格将导致较高质量的渲染,其中较大的网格将导致更高效的计算。这些参数选择允许用户在渲染质量和计算效率之间寻求平衡。形状的版本702将表示最低质量的图像,并且在添加颜色句柄或进行更改时将导致最快的计算。形状的版本704将是最高质量,并且将导致更改的最长计算时间。然而,本文中描述的过程在一般情况下是在计算上高效的,并且甚至在最高质量参数设置的情况下,与使用扩散曲线或在CPU上计算时使用光栅图形相比,将仍然在知觉上快速地重新渲染图像。(扩散曲线通常需要高端GPU以进行实时反馈。)在使用正常质量参数的示例实现中,拖动颜色句柄会在基于标准处理器的计算机硬件上的变化期间以每秒超过50帧的速度连续重新渲染新图像。对于基于本公开中呈现的艺术品的一些特定示例,图1的几何图形100被发现需要65ms来在屏幕上完全渲染。图5的几何图形500被发现需要57ms来在屏幕上完全渲染。具有三个颜色句柄的图6的形状601被发现需要31ms来在屏幕上完全渲染。作为一个极端示例,具有25个颜色句柄的椭圆(尺寸500×300)需要215ms来在屏幕上渲染。
本文中阐述了很多具体细节以提供对所要求保护的主题的透彻理解。然而,本领域技术人员将理解,可以在没有这些具体细节的情况下实践所要求保护的主题。在其他情况下,没有详细描述本领域普通技术人员已知的方法、装置或系统,以免模糊所要求保护的主题。
除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算(computing)”、“计算(calculating)”、“确定”、“选择”和“创建”等术语的讨论是指诸如一个或多个计算机或类似的电子计算设备等计算设备操纵或转换在存储器、寄存器或其他信息存储设备、传输设备或计算平台的显示设备内表示为物理、电子或磁性量的数据的动作或过程。
本文中讨论的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括提供以一个或多个输入为条件的结果的任何合适的组件布置。合适的计算设备包括访问存储的软件的基于多用途微处理器的计算机系统,存储的软件将计算设备从通用计算最终编程或配置为实现本主题的一个或多个实施例的专用计算装置。可以使用任何合适的编程、脚本或其他类型的语言或语言组合来以软件来实现要用于编程或配置计算设备的本文中包含的教导。
可以在这样的计算设备的操作中执行本文中公开的方法的实施例。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合和/或分成子框。某些框或过程可以并行执行。
本文中的“被配置为”的使用表示开放且包容性的语言,其不排除被适配为或被配置为执行附加任务或步骤的设备。另外,“基于”的使用表示开放且包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于除了所述的之外的附加的条件或值。本文中包括的标题、列表和编号仅是为了便于解释而不是限制性的。
虽然已经关于本发明的特定实施例详细描述了本主题,但是应当理解,本领域技术人员在理解前述内容的情况下可以容易地产生对这样的实施例的改变、变化和等同物。因此,应当理解,本公开内容是出于示例而非限制的目的而给出的,并且不排除包括对本主题的这样的修改、变化和/或添加,这对于本领域技术人员而言是很清楚的。
Claims (20)
1.一种方法,包括:
由计算设备从用户接收在由曲线集合指定的源几何图形内建立多个颜色句柄的输入;
由所述计算设备限定贯穿所述源几何图形分布的多个顶点;
由所述计算设备通过计算由所述多个颜色句柄贡献的颜色值的加权和来确定所述多个顶点中的每个顶点处的合成颜色;
由所述计算设备通过在所述多个顶点处的所述合成颜色之间进行插值来为所述源几何图形内的多个像素中的每个像素设置扩散像素颜色;以及
由所述计算设备产生由所述曲线集合指定的经渲染的几何图形,所述经渲染的几何图形包括针对每个像素的所述扩散像素颜色。
2.根据权利要求1所述的方法,其中所述输入包括以下中的至少一项:颜色句柄颜色、颜色句柄权重、颜色句柄位置或者对前述中的一项或多项的改变。
3.根据权利要求1所述的方法,其中所述输入包括质量参数,并且其中所述颜色值的加权和由通过所述质量参数确定的谐波、二次谐波或三次谐波方程的解确定。
4.根据权利要求1所述的方法,其中所述多个顶点对应于三角网格中的点,并且其中所述方法还包括通过符合Delaunay三角剖分来产生所述三角网格,并且所述三角网格是由剪切路径基于所述源几何图形的边界来界定的。
5.根据权利要求4所述的方法,其中所述多个颜色句柄中的每个颜色句柄的位置由Steiner点限定。
6.根据权利要求1所述的方法,其中所述曲线集合包括三次贝塞尔样条。
7.根据权利要求1所述的方法,其中所述输入包括对所述源几何图形的改变,并且其中所述方法还包括重新计算所述多个顶点中的每个顶点处的所述合成颜色以及为多个像素中的每个像素重置扩散像素颜色。
8.一种系统,包括:
处理器;以及
耦合到所述处理器的非暂态计算机可读介质,其中所述处理器被配置为执行存储在所述非暂态计算机可读介质中的计算机程序代码并且从而执行包括以下各项的操作:
从用户接收在由曲线集合指定的源几何图形内建立多个颜色句柄的输入;
限定贯穿所述源几何图形分布的多个顶点;
由计算设备通过计算由所述多个颜色句柄贡献的颜色值的加权和来确定所述多个顶点中的每个顶点处的合成颜色;
由所述计算设备通过在所述多个顶点处的所述合成颜色之间进行插值来为所述源几何图形内的多个像素中的每个像素设置扩散像素颜色;以及
由所述计算设备产生由所述曲线集合指定的经渲染的几何图形,所述经渲染的几何图形包括针对每个像素的所述扩散像素颜色。
9.根据权利要求8所述的系统,其中所述输入包括以下中的至少一项:颜色句柄颜色、颜色句柄权重、颜色句柄位置或者对前述中的一项或多项的改变。
10.根据权利要求8所述的系统,其中所述输入包括质量参数,并且其中所述颜色值的加权和由通过所述质量参数确定的谐波、二次谐波或三次谐波方程的解确定。
11.根据权利要求8所述的系统,其中所述多个顶点对应于三角网格中的点,并且其中所述操作还包括通过符合Delaunay三角剖分来产生所述三角网格,并且所述三角网格是由剪切路径基于所述源几何图形的边界来界定的。
12.根据权利要求11所述的系统,其中所述多个颜色句柄中的每个颜色句柄的位置由Steiner点限定。
13.根据权利要求8所述的系统,其中所述输入包括对所述源几何图形的改变,并且其中所述操作还包括:重新计算所述多个顶点中的每个顶点处的所述合成颜色以及为多个像素中的每个像素重置扩散像素颜色。
14.一种非暂态计算机可读介质,所述非暂态计算机可读介质存储程序代码,所述程序代码由处理器可执行以执行操作,所述操作包括:
从用户接收在由曲线集合指定的源几何图形内建立多个颜色句柄的输入;
限定贯穿所述源几何图形分布的多个顶点;
由计算设备通过计算由所述多个颜色句柄贡献的颜色值的加权和来确定所述多个顶点中的每个顶点处的合成颜色;
由所述计算设备通过在所述多个顶点处的所述合成颜色之间进行插值来为所述源几何图形内的多个像素中的每个像素设置扩散像素颜色;以及
由所述计算设备产生由所述曲线集合指定的经渲染的几何图形,所述经渲染的几何图形包括针对每个像素的所述扩散像素颜色。
15.根据权利要求14所述的非暂态计算机可读介质,其中所述输入包括以下中的至少一项:颜色句柄颜色、颜色句柄权重、颜色句柄位置或者对前述中的一项或多项的改变。
16.根据权利要求14所述的非暂态计算机可读介质,其中所述输入包括质量参数,并且其中所述颜色值的加权和由通过所述质量参数确定的谐波、二次谐波或三次谐波方程的解确定。
17.根据权利要求14所述的非暂态计算机可读介质,其中所述多个顶点对应于三角网格中的点,并且其中所述操作还包括通过符合Delaunay三角剖分来产生所述三角网格,并且所述三角网格是由剪切路径基于所述源几何图形的边界来界定的。
18.根据权利要求17所述的非暂态计算机可读介质,其中所述多个颜色句柄中的每个颜色句柄的位置由Steiner点限定。
19.根据权利要求14所述的非暂态计算机可读介质,其中所述曲线集合包括三次贝塞尔样条。
20.根据权利要求14所述的非暂态计算机可读介质,其中所述输入包括对所述源几何图形的改变,并且其中所述操作还包括:重新计算所述多个顶点中的每个顶点处的所述合成颜色以及为多个像素中的每个像素重置扩散像素颜色。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/707,212 | 2017-09-18 | ||
US15/707,212 US10242464B1 (en) | 2017-09-18 | 2017-09-18 | Diffusion coloring using weighted color points |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109544669A CN109544669A (zh) | 2019-03-29 |
CN109544669B true CN109544669B (zh) | 2023-03-03 |
Family
ID=63518055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810822250.1A Active CN109544669B (zh) | 2017-09-18 | 2018-07-24 | 使用加权的颜色点的扩散着色 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10242464B1 (zh) |
CN (1) | CN109544669B (zh) |
AU (1) | AU2018205182B2 (zh) |
DE (1) | DE102018005610A1 (zh) |
GB (1) | GB2567039B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10896524B2 (en) * | 2018-05-18 | 2021-01-19 | The Governing Council Of The University Of Toronto | Method and system for color representation generation |
US10489946B1 (en) * | 2018-06-29 | 2019-11-26 | Adobe Inc. | Generalized primitives for smooth coloring of vector graphics artwork in constant time |
US10846889B2 (en) | 2018-11-29 | 2020-11-24 | Adobe Inc. | Color handle generation for digital image color gradients using machine learning |
US10740937B1 (en) * | 2019-02-21 | 2020-08-11 | Adobe Inc. | Freeform gradient style transfer |
US11335042B2 (en) | 2020-07-20 | 2022-05-17 | Adobe Inc. | Extending freeform gradients to support advanced curve primitives |
US11282277B1 (en) * | 2020-09-28 | 2022-03-22 | Adobe Inc. | Systems for shading vector objects |
US11631220B2 (en) * | 2021-03-16 | 2023-04-18 | Adobe Inc. | Digital object surface inflation |
CN113706648B (zh) * | 2021-08-04 | 2024-03-19 | 武汉理工大学 | 基于扩散曲线的唐卡元素矢量化方法 |
US11657552B2 (en) | 2021-10-07 | 2023-05-23 | Adobe Inc. | Generating illuminated two-dimensional vector graphics using path tracing |
US11699252B2 (en) * | 2021-11-02 | 2023-07-11 | Adobe Inc. | Reconstructing freeform gradients from an input image |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003096276A2 (en) * | 2002-05-10 | 2003-11-20 | Nec Electronics Corporation | Graphics engine converting individual commands to spatial image information, and electrical device and memory incorporating the graphics engine |
US7408550B2 (en) * | 2006-07-24 | 2008-08-05 | Bunnell Michael T | System and methods for real-time rendering of deformable geometry with global illumination |
US8514238B2 (en) * | 2008-11-21 | 2013-08-20 | Adobe Systems Incorporated | System and method for adding vector textures to vector graphics images |
US20100128038A1 (en) * | 2008-11-25 | 2010-05-27 | Sony Computer Entertainment America Inc. | Method and apparatus for interpolating color and direction as one entity in computer graphics |
US9171390B2 (en) * | 2010-01-19 | 2015-10-27 | Disney Enterprises, Inc. | Automatic and semi-automatic generation of image features suggestive of motion for computer-generated images and video |
US8917284B2 (en) * | 2011-06-20 | 2014-12-23 | Microsoft Corporation | Vector graphics with controlled thin-plate splines |
EP3155593B1 (en) * | 2014-06-12 | 2019-01-02 | Thomson Licensing | Method and device for color processing of digital images |
AU2014215953A1 (en) * | 2014-08-19 | 2016-03-10 | Canon Kabushiki Kaisha | Rendering diffusion curve images using multigrid Laplacian smoothing with boundary constraint pixels |
US10573013B2 (en) * | 2017-01-16 | 2020-02-25 | Christopher Ming-Yee Iu | System and method for rendering smooth color gradients across multiple shapes |
-
2017
- 2017-09-18 US US15/707,212 patent/US10242464B1/en active Active
-
2018
- 2018-07-13 AU AU2018205182A patent/AU2018205182B2/en active Active
- 2018-07-17 DE DE102018005610.5A patent/DE102018005610A1/de active Pending
- 2018-07-24 CN CN201810822250.1A patent/CN109544669B/zh active Active
- 2018-07-26 GB GB1812210.1A patent/GB2567039B/en active Active
Also Published As
Publication number | Publication date |
---|---|
AU2018205182B2 (en) | 2021-07-08 |
US20190087980A1 (en) | 2019-03-21 |
AU2018205182A1 (en) | 2019-04-04 |
GB2567039A (en) | 2019-04-03 |
GB2567039A8 (en) | 2019-04-10 |
GB201812210D0 (en) | 2018-09-12 |
US10242464B1 (en) | 2019-03-26 |
GB2567039B (en) | 2019-12-11 |
CN109544669A (zh) | 2019-03-29 |
DE102018005610A1 (de) | 2019-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109544669B (zh) | 使用加权的颜色点的扩散着色 | |
US8614708B2 (en) | System and method for scalable rendering of diffusion curves | |
US6628295B2 (en) | Modifying a stylistic property of a vector-based path | |
US6271861B1 (en) | Smooth shading of an object | |
KR100891428B1 (ko) | 컬러 그라디언트 생성을 위한 시스템 및 방법, 컬러 그라디언트를 용이하게 하는 보간 방법, 컬러 그라디언트를 용이하게 하는 데이터 패킷을 저장하는 컴퓨터 판독가능 기록 매체 | |
US10489946B1 (en) | Generalized primitives for smooth coloring of vector graphics artwork in constant time | |
US10347012B2 (en) | Interactive color palette interface for digital painting | |
US7123269B1 (en) | Modifying vector objects | |
US7777745B2 (en) | Edge effect | |
US20090157366A1 (en) | System for simulating digital watercolor image and method therefor | |
Zhang et al. | Modeling Chinese calligraphy reliefs from one image | |
Bowers et al. | A ray tracing approach to diffusion curves | |
US7663638B2 (en) | Stroked fill | |
Tian et al. | A survey of smooth vector graphics: Recent advances in representation, creation, rasterization and image vectorization | |
US9558571B2 (en) | Contour gradients using three-dimensional models | |
Lieng et al. | Shading Curves: Vector‐Based Drawing With Explicit Gradient Control | |
Barendrecht et al. | Locally refinable gradient meshes supporting branching and sharp colour transitions: Towards a more versatile vector graphics primitive | |
Mattausch et al. | Freeform shadow boundary editing | |
CN114943797A (zh) | 基于WebGL大尺寸热力图渲染方法、系统、介质和设备 | |
CN114119821A (zh) | 虚拟对象的毛发渲染方法、装置及设备 | |
Lu et al. | Shape manipulation of diffusion curves images | |
US11657552B2 (en) | Generating illuminated two-dimensional vector graphics using path tracing | |
CN113256694B (zh) | 一种眉笔绘制方法和装置 | |
Bezerra et al. | Controllable diffusion curves | |
CN110909401A (zh) | 基于三维模型的建筑物信息管控方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |