Diffusion coloring using weighted color points
AssigneeAdobe Systems Incorporated
InventorsAnkit Phogat, Vineet Batra, Mridul Kavidayal
Life of this patent
Estimating the term…
Abstract
An automated process provides diffusion coloring of vector graphics using color points, which appear to the user as color handles. A computing device programmatically receives input from a user establishing a plurality of color handles within a source geometry specified by a set of curves. The computing device defines a mesh with a plurality of vertices distributed throughout the source geometry. A resultant color at each vertex of the plurality of vertices is determined and a diffused pixel color is programmatically set for each pixel within the source geometry by interpolating between the resultant colors at the plurality of vertices.
Claims20
A method comprising:
- receiving, by a computing device, input from a user adding a plurality of color handles to a source graphical image specified by a set of curves;
- establishing, by the computing device, the plurality of color handles so that each color handle is freely placeable within the source graphical image;
- defining, by the computing device, a plurality of vertices distributed throughout the source graphical image;
- determining, by the computing device, a resultant color at each vertex of the plurality of vertices by calculating a weighted sum of color values contributed by the plurality of color handles;
- setting, by the computing device, a diffused pixel color for each pixel of a plurality of pixels within the source graphical image by interpolating between the resultant colors at the plurality of vertices;
- and
- producing, by the computing device, a rendered geometry specified by the set of curves, the rendered geometry including the diffused pixel color for each pixel.
A system comprising:
- a processor;
- and
- a non-transitory computer-readable medium coupled to the processor, wherein the processor is configured to execute computer program code stored in the non-transitory computer-readable medium and thereby perform operations comprising:
- receiving input from a user adding a plurality of color handles to a source graphical image specified by a set of curves;
- establishing the plurality of color handles so that each color handle is freely placeable within the source graphical image;
- defining a plurality of vertices distributed throughout the source graphical image;
- determining, by the computing device, a resultant color at each vertex of the plurality of vertices by calculating a weighted sum of color values contributed by the plurality of color handles;
- setting, by the computing device, a diffused pixel color for each pixel of a plurality of pixels within the source graphical image by interpolating between the resultant colors at the plurality of vertices;
- and
- producing, by the computing device, a rendered geometry specified by the set of curves, the rendered geometry including the diffused pixel color for each pixel.
A non-transitory computer-readable medium storing program code executable by a processor to perform operations, the operations comprising:
- receiving input from a user adding a plurality of color handles to a source graphical image specified by a set of curves;
- establishing the plurality of color handles so that each color handle is freely placeable within the source graphical image;
- defining a plurality of vertices distributed throughout the source graphical image;
- determining, by the computing device, a resultant color at each vertex of the plurality of vertices by calculating a weighted sum of color values contributed by the plurality of color handles;
- setting, by the computing device, a diffused pixel color for each pixel of a plurality of pixels within the source graphical image by interpolating between the resultant colors at the plurality of vertices;
- and
- producing, by the computing device, a rendered geometry specified by the set of curves, the rendered geometry including the diffused pixel color for each pixel.
Dependencies are inferred from the claim text.