Como fazer stencil ?

Um stencil de imagem é um esboço ou modelo simplificado criado a partir de uma imagem e normalmente usado para fins artísticos, como desenho ou graffiti. Este processo envolve a conversão dos detalhes de uma imagem em formas e linhas básicas que podem ser facilmente traçadas ou reproduzidas. Aspose.SVG para Python via .NET permite que você crie um stencil de imagem programaticamente ou usando um Stencil Maker online. Aqui você pode vetorizar uma imagem e aplicar técnicas de stencil online ou usando Python.


Criador de stencil de imagem

Image Stencil Maker suporta JPEG, JPG, PJP, PJPEG, PNG, BMP, ICO, GIF, TIFF, SVG e outros formatos de imagem. Ele usa algoritmos de quantização de cores para reduzir os números de cores em sua imagem, converte a imagem em SVG e cria arte em stencil online. Use nosso Stencil Maker gratuito para criar arte de stencil impressionante sem esforço!



O stencil de imagem transforma uma imagem ou foto comum em uma imagem de contorno, perfeita para criar arte em stencil com efeitos semelhantes aos de graffiti. Aqui estão as etapas básicas para transformar uma foto ou imagem em um stencil :

  1. Converta a imagem em escala de cinza (opcional). Você pode converter a imagem em escala de cinza ou reduzir o número de cores para quantizá-la.
  2. Quantizar as cores da imagem. Esta etapa simplifica a imagem reduzindo sua paleta de cores. Após a quantização, você pode baixar ou vetorizar o resultado para obter o contorno do stencil .
  3. Desenhar Estênceis. Existem três opções para desenhar estênceis:
    • None – todas as formas vetorizadas são preenchidas.
    • Auto – as formas não são preenchidas e as bordas mantêm a cor original.
    • MonoColor – As formas não são preenchidas e as bordas têm uma cor predefinida.



Stencil de imagem em Python

Aspose.SVG for Python via .NET API fornece classes e métodos que permitem implementar o processo de vetorização de imagens e trabalhar com diversas opções de pré-processamento de imagens antes de salvá-las no formato vetorial SVG. Junto com o controle de parâmetros de vetorização como trace_smoother, error_threshold, max_iterations, path_builder, etc., você também pode configurar o desenho do stencil da imagem.

No exemplo de código a seguir, convertemos uma imagem em um vetor e aplicamos a técnica de stencil para fazer o stencil :


Faça stencil em Python

import os
import aspose.svg.imagevectorization as vec
import aspose.svg.drawing as dr

# Setup directories
input_folder = "data/"
output_folder = "output/"
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# Configuration for image vectorization
path_builder = vec.BezierPathBuilder()
path_builder.trace_smoother = vec.ImageTraceSmoother(1)
path_builder.error_threshold = 30.0
path_builder.max_iterations = 30

vectorizer = vec.ImageVectorizer()
vectorizer.configuration.path_builder = path_builder
vectorizer.configuration.colors_limit = 10
vectorizer.configuration.line_width = 1.0

# Configuration for image stencil
stencil_config = vec.StencilConfiguration()
stencil_config.type = vec.StencilType.MONO_COLOR
stencil_config.color = dr.Color.from_rgb(0, 0, 255)
vectorizer.configuration.stencil = stencil_config

# Vectorize an image
src_file = "image.png"
with vectorizer.vectorize(os.path.join(input_folder, src_file)) as document:
    output_file = os.path.join(output_folder, "image-stencil.svg")
    document.save(output_file)


Passos para fazer stencil em Python

Para vetorizar uma imagem e fazer stencil com a biblioteca Python Aspose.SVG, você deve seguir alguns passos:

  1. Importe os módulos e classes necessários de aspose.svg.drawing, aspose.svg.imagevectorization e outros pacotes necessários.
  2. Crie uma instância da classe BezierPathBuilder para definir a estratégia de construção de caminho.
    • Defina o valor da propriedade trace_smoother usando uma instância de ImageTraceSmoother . Este parâmetro (severity) controla o quanto os caminhos traçados serão suavizados.
    • Defina o valor da propriedade error_threshold de BezierPathBuilder. Este parâmetro define a margem de erro aceitável para aproximar as formas de bitmap com caminhos vetoriais.
    • Especifique o valor da propriedade max_iterations do objeto BezierPathBuildert. Esta configuração determina o número máximo de iterações permitidas para o algoritmo de otimização de caminho durante a vetorização, que é quantas vezes o algoritmo tentará melhorar a precisão do caminho.
  3. Crie uma instância da classe ImageVectorizer . O ImageVectorizer é a classe principal usada para converter imagens em gráficos vetoriais.
    • Atribua a configuração path_builder (definida anteriormente) ao objeto vectorizer. Isso significa que o vetorizador usará as configurações especificadas em path_builder para criação e otimização de caminho.
    • Defina a propriedade colors_limit da classe ImageVectorizerConfiguration . Este parâmetro determina o número máximo de cores que serão utilizadas na imagem vetorizada. Isso afeta o modo como o vetorizador lida com a simplificação de cores e reduz o número de cores exclusivas na saída.
    • Especifique a propriedade line_width da classe ImageVectorizerConfiguration. Esta configuração determina a largura dos caminhos vetoriais no arquivo SVG resultante.
  4. Inicialize uma nova instância da classe StencilConfiguration , que contém as configurações para o processo de criação do estêncil.
    • Defina a propriedade type do stencil como MONO_COLOR. Isso criará um stencil com uma cor única e uniforme para o contorno.
    • Defina a propriedade color para o contorno do stencil . O método Color.from_rgb(0, 0, 255) cria um objeto de cor que representa a cor azul usando valores RGB (vermelho: 0, verde: 0, azul: 255).
    • Aplique a configuração do stencil ao vetorizador.
  5. Use o método vectorize() para vetorizar uma imagem do arquivo especificado.
  6. Salve a imagem vetorizada como um arquivo SVG usando o método save() no SVGDocument resultante.

Aspose.SVG oferece um Vetorizador de imagens online gratuito que permite converter imagens bitmap JPG, PNG, BMP, TIFF, ICO e GIF em gráficos vetoriais. Com este aplicativo você pode aplicar diversas opções para obter o resultado perfeito. Economize tempo e experimente os benefícios dos gráficos vetoriais experimentando este Vetorizador de imagens hoje mesmo!


Perguntas frequentes

1. Como posso vetorizar Image?

Aspose.SVG permite que você converta Image para SVG de qualquer maneira – online ou programaticamente. Por exemplo, você pode vetorizar Image em tempo real usando o Online Image Vectorizer que converte suas imagens rapidamente e com alta qualidade. Por outro lado, você pode usar Aspose.SVG para API .NET para vetorizar Image programaticamente.

2. O que é uma conversão de raster para vetor?

O processo de conversão de imagem de raster para vetorial é chamado de vetorização de imagem. É um processo computacional complexo que converte uma imagem bitmap composta por pixels em uma imagem vetorial composta por linhas, curvas e outras formas geométricas.

3. Para que serve a vetorização de imagens?

As imagens vetoriais são essenciais para qualquer profissional que trabalhe com desenhos, gráficos ou esboços. Muitos designers, impressores, arquitetos e artistas geralmente optam por trabalhar com esboços ou desenhos como imagens vetoriais. E eles têm boas razões! Ao contrário dos gráficos de bitmap, as artes vetoriais são redimensionáveis ​​e escaláveis ​​sem perda de qualidade e ainda serão exibidas com a mesma clareza. Além disso, a vetorização pode ser usada para atualizar ou recuperar imagens.
As imagens vetoriais são o que você precisa para produzir banners, logotipos, mapas, letreiros, bordados, gravuras, gráficos, plantas, etc.

4. Como ocorre a vetorização?

O processo de vetorização utiliza a quantização da imagem colorida – técnica que reduz o número de cores diferentes utilizadas em uma imagem, pretendendo que a nova imagem seja o mais semelhante possível visualmente à original. Em seguida, o Vectorizer substitui todos os pontos ou pixels da mesma cor por formas geométricas ou curvas usando um conjunto de algoritmos de rastreamento de contorno. A etapa final é converter os pontos de rastreamento em linhas de caminho SVG e curvas Bezier e adicioná-los ao documento SVG.



Introdução à API Python

Se você deseja desenvolver gráficos vetoriais escaláveis ​​e seus aplicativos, instale nosso Aspose.SVG for Python via .NET API flexível e de alta velocidade. pip é a maneira mais fácil de baixar e instalar Aspose.SVG for Python via .NET API. Para fazer isso, execute o seguinte comando:

pip install aspose-svg-net

Para obter mais detalhes sobre a instalação da biblioteca Python e os requisitos do sistema, consulte Documentação Aspose.SVG.

Outros vetorizadores de imagens suportados

JPG to SVG (JPEG Image)
PNG to SVG (Portable Network Graphics)
Image to SVG (Raster Image)
BMP to SVG (Microsoft Windows Bitmap)
Image Stencil (Stencil Maker)