¿Cómo hacer una stencil?

Una stencil de imagen es un esquema o stencil simplificada creada a partir de una imagen y que normalmente se utiliza con fines artísticos, como dibujos o graffiti. Este proceso implica convertir los detalles de una imagen en formas y líneas básicas que se puedan rastrear o reproducir fácilmente. Aspose.SVG for Python via .NET le permite crear una stencil de imagen mediante programación o utilizando un creador de stencil en línea. Aquí puedes vectorizar una imagen y aplicar técnicas de estarcido en línea o usando Python.


Creador de stencil de imágenes

Image Stencil Maker admite JPEG, JPG, PJP, PJPEG, PNG, BMP, ICO, GIF, TIFF, SVG y otros formatos de imagen. Utiliza algoritmos de cuantificación de color para reducir los números de color en su imagen, convierte la imagen a SVG y crea stencil en línea. ¡Utiliza nuestro Creador de stencil gratuito para crear impresionantes diseños de stencil sin esfuerzo!



La creación de stencil de imágenes transforma una imagen o fotografía normal en una imagen de contorno, perfecta para crear stencil con efectos similares a los de un graffiti. Estos son los pasos básicos para convertir una foto o imagen en una stencil:

  1. Convertir imagen a escala de grises (opcional). Puede convertir la imagen a escala de grises o reducir la cantidad de colores para cuantizarla.
  2. Cuantizar los colores de la imagen. Este paso simplifica la imagen reduciendo su paleta de colores. Después de cuantizar, puedes descargar o vectorizar el resultado para obtener el contorno de la stencil.
  3. stencil de dibujo. Hay tres opciones para stencil de dibujo:
    • None: todas las formas vectorizadas están rellenas.
    • Auto: las formas no se rellenan y los bordes conservan el color original.
    • MonoColor: las formas no están rellenas y los bordes tienen un color predefinido.



stencil de imagen en Python

Aspose.SVG for Python via .NET API proporciona clases y métodos que le permiten implementar el proceso de vectorización de imágenes y trabajar con varias opciones para preprocesar imágenes antes de guardarlas en formato vectorial SVG. Además de controlar los parámetros de vectorización como trace_smoother, error_threshold, max_iterations, path_builder, etc., también puede configurar el dibujo de la stencil de imagen.

En el siguiente ejemplo de código, convertimos una imagen en un vector y aplicamos una técnica de estarcido para crear una stencil:


Hacer stencil en Python

import os
from aspose.svg import *
from aspose.svg.drawing import *
from aspose.svg.rendering.image import *
from aspose.svg.imagevectorization import *

# 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 = BezierPathBuilder()
path_builder.trace_smoother = ImageTraceSmoother(1)
path_builder.error_threshold = 30.0
path_builder.max_iterations = 30

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

# Configuration for image stencil
stencil_config = StencilConfiguration()
stencil_config.type = StencilType.MONO_COLOR
stencil_config.color = 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)


Pasos para hacer una stencil en Python

Para vectorizar una imagen y hacer una stencil con la biblioteca Aspose.SVG Python, debes seguir algunos pasos:

  1. Importe los módulos y clases necesarios de aspose.svg, aspose.svg.imagevectorization y otros paquetes necesarios.
  2. Cree una instancia de la clase BezierPathBuilder para definir la estrategia de creación de rutas.
    • Establezca el valor de la propiedad trace_smoother usando una instancia de ImageTraceSmoother . Este parámetro (severity) controla cuánto se suavizarán las rutas trazadas.
    • Establezca el valor para la propiedad error_threshold de BezierPathBuilder. Este parámetro define el margen de error aceptable para aproximar las formas de mapa de bits con rutas vectoriales.
    • Especifique el valor de la propiedad max_iterations del objeto BezierPathBuilder. Esta configuración determina el número máximo de iteraciones permitidas para el algoritmo de optimización de ruta durante la vectorización, que es cuántas veces el algoritmo intentará mejorar la precisión de la ruta.
  3. Cree una instancia de la clase ImageVectorizer . ImageVectorizer es la clase principal utilizada para convertir imágenes en gráficos vectoriales.
    • Asigne la configuración path_builder (definida anteriormente) al objeto vectorizer. Esto significa que el vectorizador utilizará la configuración especificada en path_builder para la creación y optimización de rutas.
    • Establece la propiedad colors_limit de la clase ImageVectorizerConfiguration . Este parámetro determina la cantidad máxima de colores que se utilizarán en la imagen vectorizada. Esto afecta la forma en que el vectorizador maneja la simplificación del color y reduce la cantidad de colores únicos en la salida.
    • Especifique la propiedad line_width de la clase ImageVectorizerConfiguration. Esta configuración determina el ancho de las rutas vectoriales en el archivo SVG resultante.
  4. Inicialice una nueva instancia de la clase StencilConfiguration , que contiene la configuración para el proceso de creación de la stencil.
    • Establezca la propiedad type de la stencil en MONO_COLOR. Esto creará una stencil con un color único y uniforme para el contorno.
    • Establezca la propiedad color para el contorno de la stencil. El método Color.from_rgb(0, 0, 255) crea un objeto de color que representa el color azul usando valores RGB (rojo: 0, verde: 0, azul: 255).
    • Aplicar la configuración de la stencil al vectorizador.
  5. Utilice el método vectorize() para vectorizar una imagen del archivo especificado.
  6. Guarde la imagen vectorizada como un archivo SVG usando el método save() en el SVGDocument resultante.

Aspose.SVG ofrece un Vectorizador de imágenes gratuito en línea que le permite convertir imágenes de mapa de bits JPG, PNG, BMP, TIFF, ICO y GIF en gráficos vectoriales. Con esta aplicación, puedes aplicar varias opciones para lograr el resultado perfecto. ¡Ahorre tiempo y experimente los beneficios de los gráficos vectoriales probando este Vectorizador de imágenes hoy!


Preguntas más frecuentes

1. ¿Cómo puedo vectorizar Image?

Aspose.SVG le permite convertir Image a SVG de cualquier manera, en línea o mediante programación. Por ejemplo, puede vectorizar Image en tiempo real usando Online Image Vectorizer que convierte sus imágenes rápidamente y con alta calidad. Por otro lado, puede usar Aspose.SVG for .NET API para vectorizar Image mediante programación.

2. ¿Qué es una conversión de ráster a vector?

El proceso de conversión de imágenes de ráster a vector se denomina vectorización de imágenes. Es un proceso computacional complejo que convierte una imagen de mapa de bits formada por píxeles en una imagen vectorial formada por líneas, curvas y otras formas geométricas.

3. ¿Para qué sirve la vectorización de imágenes?

Las imágenes vectoriales son esenciales para cualquier profesional que trabaje con dibujos, gráficos o bocetos. Muchos diseñadores, impresores, arquitectos y artistas suelen optar por trabajar con bocetos o dibujos como imágenes vectoriales. ¡Y tienen buenas razones! A diferencia de los gráficos de mapa de bits, las artes vectoriales son redimensionables y escalables sin perder calidad, y aún se mostrarán con la misma claridad. Además, la vectorización se puede utilizar para actualizar o recuperar imágenes.
Las imágenes vectoriales son lo que necesita para producir pancartas, logotipos, mapas, rótulos, bordados, grabados, gráficos, planos, etc.

4. ¿Cómo se produce la vectorización?

El proceso de vectorización utiliza la cuantificación de imágenes en color, una técnica que reduce la cantidad de colores diferentes utilizados en una imagen, con la intención de que la nueva imagen sea visualmente lo más similar posible a la original. Luego, el Vectorizador reemplaza todos los puntos o píxeles del mismo color con formas geométricas o curvas utilizando un conjunto de algoritmos de trazado de contorno. El paso final es convertir los puntos de rastreo en líneas de ruta SVG y curvas Bezier y agregarlas al documento SVG.



Comience con la API de Python

Si desea desarrollar gráficos vectoriales escalables y sus aplicaciones, instale nuestro flexible y de alta velocidad Aspose.SVG for Python via .NET API. pip es la forma más sencilla de descargar e instalar Aspose.SVG for Python via .NET API. Para hacer esto, ejecute el siguiente comando:

pip install aspose-svg-net

Para obtener más detalles sobre la instalación de la biblioteca Python y los requisitos del sistema, consulte la Documentación Aspose.SVG.

Otros vectorizadores de imágenes compatibles

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)