Vetorização de imagens - Código C# e Vetorizador Online

Você está pronto para passar para o desenho vetorial?

O que é Vetorização de Imagens?

A vetorização de imagens é o processo de conversão de imagens bitmap em gráficos vetoriais - curvas de Bezier, splines e linhas. A vetorização é útil porque a imagem não ficará pixelada quando você a ampliar. Dimensionamento sem perda de qualidade, tamanho de arquivo pequeno e suporte a animação - são apenas algumas vantagens das imagens vetorizadas. Quer você goste de pintura, design, arte, impressão, arquitetura ou desenvolvimento web, as imagens vetoriais são uma parte essencial da profissão. Por outro lado, você pode apenas experimentar imagens e obter alguns efeitos divertidos de vetorização. Neste artigo, veremos como converter imagens em gráficos vetoriais em C# ou usando um vetorizador de imagens online.


Vetorizador de Imagens Online

Você está pronto para passar da pintura com pixels para o desenho com vetores? O Image Vectorizer foi projetado para converter imagens raster em gráficos vetoriais com base em formas geométricas que consistem em curvas e linhas de Bezier. Todos os elementos gráficos vetoriais são salvos em arquivos SVG após a vetorização. Image Vectorizer suporta JPEG, JPG, PJP, PJPEG, PNG, BMP, ICO, GIF, TIFF, WEBP, XBM e outros formatos de bitmap. Você pode gerenciar interativamente o arquivo SVG vetorizado usando controles vinculados a opções de vetorização adequadas. Converta suas imagens em arte vetorial escalável e clara agora mesmo!


Como usar o vetorizador de imagens?

  1. Primeiro, carregue a imagem raster de um sistema de arquivo local em JPEG, JPG, PJP, PJPEG, WEBP, PNG, BMP, ICO, GIF, TIFF, XBM ou outro formato de bitmap. Você verá três janelas - Imagem de Origem, Imagem Quantizada e Imagem Vetorizada - com a visualização das imagens iniciais, quantizadas em cores e vetorizadas.
  2. Image Vectorizer converte Image em vetor com configurações padrão e você pode baixar Image vetorizado como um arquivo SVG. Mas para obter um melhor resultado, você pode lidar com os processos de quantização e vetorização com duas barras laterais de configurações. Clique no botão “Quantize” para aplicar as configurações de quantização, clique no botão “Vectorize” para aplicar as configurações de vetorização e converter Image para SVG.
  3. Clique no botão “Download” para obter o resultado.

O Image Vectorizer converte imagens bitmap raster em arte vetorial construída a partir de contornos. O algoritmo de vetorização inclui as próximas etapas: quantização de cores, rastreamento de contorno, suavização de rastreamento, simplificação de rastreamento e construção de elementos de caminho SVG a partir dos rastreamentos. Aplique configurações personalizadas para obter o melhor resultado de vetorização Image.

Opções de Quantização (Quantization Options)

A quantização de cores é um processo de seleção do número limitado de cores a serem usadas em uma imagem. É aplicado quando a informação de cor de uma imagem deve ser reduzida. A quantização de cores é um processo muito complexo que envolve vários fatores. Isso pode ser implementado usando diferentes algoritmos. Cada um dos algoritmos determina quais cores do conjunto maior de cores permanecem na nova imagem e como as cores descartadas são mapeadas para as restantes.

  • colores - tamanho da paleta desejada;
  • method - métodos de histograma que implementam vários algoritmos de quantização de cores;
  • minHueCols - é um parâmetro que funciona com gradientes de cores;
  • scale - ou fator de escala - configurável para amostras de cores mais finas ou mais grossas;
  • grayscale - você pode converter a imagem em escala de cinza clicando na caixa de seleção.

Opções de Vetorização (Vectorization Options)

  • threshold - é responsável por definir o número de pixels para marcar o contorno;
  • severity - afeta a suavização dos contornos e determina a extensão da região considerada pelo ponto de consulta da abordagem do vizinho mais próximo;
  • line-width - afeta a largura das linhas para marcar os contornos;
  • stencil - transforma uma imagem ou foto comum em uma imagem de contorno que pode ser usada como estêncil para efeitos semelhantes a graffiti;
  • trace paths - você pode visualizar os pontos em uma curva que são responsáveis ​​pela construção dos segmentos do caminho.

Os gráficos vetoriais são os melhores para criar logotipos, ícones, layouts de página, mapas, gráficos, artes lineares, ilustrações, desenhos técnicos e muito mais. Não é o formato mais adequado para imagens de tom contínuo com misturas de cores ou edição de fotografias. No entanto, a vetorização de fotos pode resultar em efeitos artísticos impressionantes que podem ser interessantes e úteis.

Como vetorizar imagem em C#

Aspose.SVG for .NET API oferece uma biblioteca C# de alta velocidade que você pode usar para diferentes tarefas de análise SVG. O Namespace ImageVectorization inclui classes e interfaces para implementar o processo de vetorização de imagens e trabalhar com várias opções de pré-processamento para imagens antes de salvá-las em formato vetorial. O processamento envolve o controle das seguintes opções de vetorização: TraceSimplifier, TraceSmoother, PathBuilder, etc.


Vetorização de Imagens em 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 = 25,
            LineWidth = 1
        }
    };
    // 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");

Etapas para vetorizar imagens em C#

  1. Inicialize uma instância da classe ImageVectorizer. Use um dos construtores ImageVectorizer() e especifique as propriedades de configuração.
    • A propriedade TraceSmoother define o traço mais suave. É usado para suavizar fragmentos de contornos.
    • A propriedade TraceSimplifier define o rastreamento simplificado. Como resultado, a curva traçada será construída composta por segmentos de linha com menos (ou maiores) pontos.
    • A propriedade PathBuilder define o construtor de segmentos de caminho SVG e afeta a nitidez da curva nos pontos de controle.
  2. Vetorize a imagem do arquivo especificado. O método Vectorize() pega o caminho para o arquivo de imagem e retorna um SVGDocument.
  3. Salve a imagem vetorizada como um arquivo SVG. Use o método Save() e passe para ele o caminho de saída.

Vetorização de Imagens em Documentação

Scalable Vector Graphics é atualmente amplamente utilizado para renderizar gráficos da web. Em comparação com os bitmaps, os gráficos vetoriais podem criar imagens nítidas que podem ser dimensionadas para qualquer tamanho. Eles são ideais para desenhar qualquer tipo de ilustração da Web, incluindo ícones, gráficos, diagramas e muito mais. No capítulo de documentação Vectorization - Basic Overview, você encontrará uma descrição do processo de vetorização de imagens.

  • Fluxo de trabalho de vetorização de imagens - Você encontrará informações sobre vetorização de imagens, uma descrição do processo de vetorização de imagens e opções de vetorização, aprenda como vetorizar imagens raster como PNG, JPG, BMP, TIFF, GIF, ICO em um documento SVG.
  • Exemplos de vetorização de imagens - Você considerará alguns exemplos de C# que demonstram as funcionalidades do ImageVectorization e o efeito das propriedades de configuração no resultado da vetorização.

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.

Introdução à API .NET SVG

Se você estiver interessado em desenvolver gráficos vetoriais escalonáveis ​​e seus aplicativos, instale nosso Aspose.SVG flexível e de alta velocidade para API .NET com um poderoso conjunto de interfaces para C# e outras linguagens de programação .NET.
Instale a partir da linha de comando como nuget install Aspose.SVG ou via Package Manager Console do Visual Studio com Install-Package Aspose.SVG. Como alternativa, obtenha o instalador MSI offline ou DLLs em um arquivo ZIP em downloads. Aspose.SVG para .NET API é uma biblioteca autônoma e não depende de qualquer software para processamento de documentos SVG.
Para obter mais detalhes sobre a instalação da biblioteca C# e os requisitos do sistema, consulte Documentação do Aspose.SVG.

Outros Vetorizadores compatíveis

Economize seu tempo e verifique esses vetorizadores de imagem para obter todos os benefícios dos gráficos vetoriais!

Text to Vector (SVG Text)
Stencil Drawing (Stencil images)
JPG to SVG (JPEG Image)
PNG to SVG (Portable Network Graphics)
Image to SVG (Raster Image)
BMP to SVG (Microsoft Windows Bitmap)
GIF TO SVG (Graphical Interchange Format)
TIF to SVG (Tagged Image File Format)
ICO to SVG (Windows Icon)