Online Stencil Maker
If you need to turn your photos or images into stencils, use our free online tool! It creates image stencils and allows you to vectorize them for scalable and clear vector graphics. Stencil Maker supports many image formats, including JPEG, JPG, PJP, PJPEG, PNG, BMP, ICO, GIF, TIFF, WEBP, XBM, SVG, and more.
What is an image stencil?
Image stenciling is a process that turns an ordinary picture or photo into an outline image that can be used as a stencil for graffiti-like effects. There are several basic steps for turning a photo or image into a stencil:
- Convert a photo or image to grayscale, this step is optional, as you can reduce the number of colors to quantize instead.
- Quantize image colors to simplify the image, after that you can download the result or vectorize it and get the stencil shape lines.
- There are three options for drawing stencils. The first is “None” when all the vectorized shapes are filled, the second is “Auto” when the shapes are not filled and the borders have the “original” color, and the last is “MonoСolor” when the shapes are also not filled, but the borders have the predefined color.
How to use Image Vectorizer?
- First, load the raster image from a local file system in JPEG, JPG, PJP, PJPEG, WEBP, PNG, BMP, ICO, GIF, TIFF, XBM or other bitmap format. You will see three windows - Source Image, Quantized Image and Vectorized Image - with the preview of initial, color-quantized and vectorized images.
- Image Vectorizer converts Image to vector with default settings and you can download vectorized Image as an SVG file. But for getting a better result, you can handle the quantization and vectorization processes with two settings sidebars. Click “Quantize” button to apply quantization settings, click “Vectorize” button to apply vectorization settings and convert Image to SVG.
- Click the “Download” button to get the resultant.
Image Vectorizer converts raster bitmap images into vector artwork constructed from outlines. The vectorization algorithm includes the next steps: color quantization, contour tracing, trace smoothing, trace simplification, and building SVG path elements from the traces. Apply custom settings to get the best Image vectorization result.
Quantization Options
Color quantization is a process of selecting the limited number of colors to use in an image. It is applied when the color information of an image is to be reduced. Color quantization is a very complex process involving a number of factors. This can be implemented using different algorithms. Each of the algorithms determines which colors from the larger set of colors remain in the new image and how the discarded colors are mapped to the remaining ones.
- colors - desired palette size;
- method - histogram methods that implement various color quantization algorithms;
- minHueCols - is a parameter that works with color gradients;
- scale - or scaling factor - configurable for finer or coarser sampling of colors;
- grayscale - you can convert the image to grayscale by clicking the checkbox.
Vectorization Options
- threshold - is responsible for setting the number of pixels to mark the contour;
- severity - affects contours’ smoothing and determines the extent of the region considered by query point the Nearest Neighbor approach;
- line-width - affects lines’ width for marking the contours;
- stencil - turns an ordinary image or photo into an outline image that can be used as a stencil for graffiti-like effects;
- trace paths - you can view the points in a curve that are responsible for building path segments.
Vector graphics are the best for creating logos, icons, page layouts, maps, graphs, line arts, illustrations, technical drawings and more. It is not the most suitable format for continuous-tone images with blends of color or editing photographs. However, vectorizing photos can result in impressive artistic effects that can be interesting and useful.
How to Make Stencil in C#
Aspose.SVG for the .NET API provides classes and methods that allow you to implement the image vectorization process and work with stenciling options.
Make Stencil via C#
// Initialize an instance of the ImageVectorizer class
var vectorizer = new ImageVectorizer
{
//optionally set configuration
Configuration =
{
//optionally set path builder
PathBuilder = new BezierPathBuilder {
//optionally set trace smoother
TraceSmoother = new ImageTraceSmoother(1),
ErrorThreshold = 30,
MaxIterations = 30
},
ColorsLimit = 10,
LineWidth = 1,
// set stencil effect configuration
Stencil = new StencilConfiguration { Type = StencilType.MonoColor, Color = Aspose.Svg.Drawing.Color.FromRgb(0,0,255) }
}
};
// Vectorize image from the specified file
using var document = vectorizer.Vectorize(InputFolder + "image.png");
// Save vectorized image as SVG file
document.Save(OutputFolder + "image.svg");
Steps to Make Stencil in C#
Aspose.SVG for .NET API offers a high-speed C# library that you can use for different SVG parsing tasks. The ImageVectorization Namespace includes classes and interfaces for implementing the image vectorization process with stenciling options. To make stencil from PNG image, you should follow a few steps:
- Initialize an instance of the
ImageVectorizer
class. Use one of ImageVectorizer() constructors and specify configuration properties.
- PathBuilder property gets or sets the SVG path segments builder.
- ColorsLimit property gets or sets the maximum number of colors used to quantize an image.
- Stencil property gets or sets stencil effect configuration. By default, no stencil effect is applied.
- Vectorize an image from the specified file. The Vectorize() method takes the path to the image file and returns an SVGDocument.
- Save the vectorized image to SVG. Use the Save() method and pass to it the output path.
In the documentation chapter Vectorization – Basic Overview , you will find image vectorization info, a description of the image vectorization process and vectorization options, learn how to vectorize raster images such as PNG, JPG, BMP, TIFF, GIF, ICO into an SVG document.
FAQ
Aspose.SVG allows you to convert Image to SVG in any way – online or programmatically. For example, you can vectorize Image in real-time using Online Image Vectorizer that converts your images quickly and with high quality. On other hand, you can use Aspose.SVG to vectorize Image programmatically.
The process of image conversion from raster to vector is called image vectorization. It is a complex computational process that converts a bitmap image made up of pixels into a vector image made up of lines, curves, and other geometric shapes.
Vector images are essential for any professional who works with drawings, graphics, or sketches. Many designers, printers, architects, and artists often choose to work with sketches or drawings as vector images. And they have good reasons! Unlike bitmap graphics, vector arts are resizable and scalable without losing any quality, and they will still display just as clearly. Also, vectorization can be used to update or recover images.
Vector images are what you need to produce banners, logos, maps, signs, embroideries, engravings, graphs, blueprints, etc.
The vectorization process uses color image quantization – a technique that reduces the number of different colors used in an image, intending that the new image should be as visually similar as possible to the original one. Then, the Vectorizer replaces all the same colored spots or pixels with geometric shapes or curves using a set of contour tracing algorithms. The final step is to convert the tracing points to SVG path lines and Bezier curves and add them to the SVG document.
What is Image File Format?
There are two main types of digital image files – raster and vector. Popular types of raster images include JPEG, PNG, BMP, TIFF, and GIF file formats. A bitmap is a two-dimensional array that maps colors to pixels at a particular location. A raster image is a much larger file than a vector one. Raster formats are suitable for photographs or pictures with color gradients. But one of their main disadvantages is losing quality when scaling. Because the pixel number is fixed, raster images can become distorted or blurry when resized to fill a bigger or smaller space. Increasing the size of an image with too few pixels can cause pixelation, which isn’t usually desirable.
What is SVG File Format?
SVG files are Scalable Vector Graphics Files that use XML-based text format to describe an image’s appearance. In an SVG file, images are described as geometric primitives: lines, curves, shapes, text, etc. Vector objects are built and stored as a set of commands, numbers, formulas, and not in a pixel grid, as in bitmap images. The word Scalable refers to the fact that SVG can be scaled to different sizes without losing any quality. A text-based description of such files makes them independent of resolution. It is one of the most used formats for website building and print graphics to achieve scalability. SVG files can be viewed/opened in almost all modern browsers including Chrome, Internet Explorer, Firefox, and Safari.
Get Started with Aspose.SVG for .NET API
If you are interested in developing scalable vector graphics and their application, install our flexible, high-speed Aspose.SVG for .NET API with a powerful set of interfaces for C# and other .NET programming languages.Install from command line as
nuget install Aspose.SVG
or via Package Manager Console of Visual Studio with Install-Package Aspose.SVG
.
Alternatively, get the offline MSI installer or DLLs in a ZIP file from
downloads.
Aspose.SVG for .NET API is a standalone library and does not depend on any software for SVG document processing.For more details about C# library installation and system requirements, please refer to Aspose.SVG Documentation.