스텐실을 만드는 방법?

이미지 스텐실은 이미지에서 생성된 단순화된 개요 또는 템플릿이며 일반적으로 그림이나 낙서와 같은 예술적 목적으로 사용됩니다. 이 프로세스에는 이미지의 세부 사항을 쉽게 추적하거나 재현할 수 있는 기본 모양과 선으로 변환하는 과정이 포함됩니다. Aspose.SVG for Python via .NET 를 사용하면 프로그래밍 방식으로 또는 온라인 Stencil Maker를 사용하여 이미지 스텐실을 생성할 수 있습니다. 여기에서는 이미지를 벡터화하고 온라인으로 또는 Python을 사용하여 스텐실 기술을 적용할 수 있습니다.


이미지 스텐실 메이커

Image Stencil Maker는 JPEG, JPG, PJP, PJPEG, PNG, BMP, ICO, GIF, TIFF, SVG 및 기타 이미지 형식을 지원합니다. 색상 양자화 알고리즘을 사용하여 이미지의 색상 번호를 줄이고 이미지를 SVG로 변환하며 온라인으로 스텐실 아트를 만듭니다. 무료 스텐실 메이커를 사용하여 멋진 스텐실 아트를 손쉽게 만들어보세요!



이미지 스텐실은 일반 그림이나 사진을 윤곽선 이미지로 변환하므로 낙서 같은 효과가 있는 스텐실 아트를 만드는 데 적합합니다. 사진이나 이미지를 스텐실로 변환하는 기본 단계는 다음과 같습니다.

  1. 이미지를 회색조로 변환합니다(선택 사항). 이미지를 회색조로 변환하거나 색상 수를 줄여 양자화할 수 있습니다.
  2. 이미지 색상을 양자화합니다. 이 단계에서는 색상 팔레트를 줄여 이미지를 단순화합니다. 양자화 후에는 결과를 다운로드하거나 벡터화하여 스텐실의 윤곽선을 얻을 수 있습니다.
  3. 스텐실 그리기. 스텐실 그리기에는 세 가지 옵션이 있습니다.
    • None – 벡터화된 모든 모양이 채워집니다.
    • Auto – 모양이 채워지지 않고 테두리가 원래 색상을 유지합니다.
    • MonoColor – 도형이 채워지지 않고 테두리가 미리 정의된 색상으로 표시됩니다.



Python의 이미지 스텐실

Aspose.SVG for Python via .NET API는 이미지 벡터화 프로세스를 구현하고 이미지를 SVG 벡터 형식으로 저장하기 전에 이미지 전처리를 위한 다양한 옵션을 사용할 수 있는 클래스와 메서드를 제공합니다. trace_smoother, error_threshold, max_iterations, path_builder 등과 같은 벡터화 매개변수를 제어하는 ​​것 외에도 이미지 스텐실의 드로잉을 구성할 수도 있습니다.

다음 코드 예제에서는 이미지를 벡터로 변환하고 스텐실 기술을 적용하여 스텐실을 만듭니다.


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)


Python에서 스텐실을 만드는 단계

이미지를 벡터화하고 Aspose.SVG Python 라이브러리로 스텐실을 만들려면 몇 가지 단계를 따라야 합니다.

  1. aspose.svg, aspose.svg.imageVectorization 및 기타 필요한 패키지에서 필요한 모듈과 클래스를 가져옵니다.
  2. BezierPathBuilder 클래스의 인스턴스를 생성하여 경로 구축 전략을 정의합니다.
    • ImageTraceSmoother 인스턴스를 사용하여 trace_smoother 속성 값을 설정합니다. 이 매개변수(심각도)는 추적된 경로를 얼마나 부드럽게 처리할지 제어합니다.
    • BezierPathBuildererror_threshold 속성 값을 설정합니다. 이 매개변수는 벡터 경로로 비트맵 모양을 근사화하기 위해 허용되는 오류 한계를 정의합니다.
    • BezierPathBuilder 객체의 max_iterations 속성 값을 지정합니다. 이 설정은 벡터화 중에 경로 최적화 알고리즘에 허용되는 최대 반복 횟수, 즉 알고리즘이 경로 정확도를 향상시키기 위해 시도하는 횟수를 결정합니다.
  3. ImageVectorizer 클래스의 인스턴스를 만듭니다. ImageVectorizer는 이미지를 벡터 그래픽으로 변환하는 데 사용되는 기본 클래스입니다.
    • path_builder 구성(앞서 정의됨)을 벡터화기 개체에 할당합니다. 이는 벡터라이저가 경로 생성 및 최적화를 위해 path_builder에 지정된 설정을 사용한다는 것을 의미합니다.
    • ImageVectorizerConfiguration 클래스의 colors_limit 속성을 설정합니다. 이 매개변수는 벡터화된 이미지에 사용될 최대 색상 수를 결정합니다. 이는 벡터화가 색상 단순화를 처리하는 방법에 영향을 미치고 출력의 고유 색상 수를 줄입니다.
    • ImageVectorizerConfiguration 클래스의 line_width 속성을 지정합니다. 이 설정은 결과 SVG 파일의 벡터 경로 너비를 결정합니다.
  4. 스텐실 생성 프로세스에 대한 설정을 보유하는 StencilConfiguration 클래스의 새 인스턴스를 초기화합니다.
    • 스텐실 type 속성을 MONO_COLOR로 설정합니다. 이렇게 하면 윤곽선에 대해 균일한 단일 색상의 스텐실이 생성됩니다.
    • 스텐실 아웃라인의 color 속성을 설정합니다. Color.from_rgb(0, 0, 255) 메소드는 RGB 값(빨간색: 0, 녹색: 0, 파란색: 255)을 사용하여 파란색을 나타내는 색상 객체를 생성합니다.
    • 스텐실 구성을 벡터라이저에 적용합니다.
  5. Vectorize() 메서드를 사용하여 지정된 파일의 이미지를 벡터화합니다.
  6. 결과 SVGDocumentsave() 메소드를 사용하여 벡터화된 이미지를 SVG 파일로 저장합니다.

Aspose.SVG는 JPG, PNG, BMP, TIFF, ICO 및 GIF 비트맵 이미지를 벡터 그래픽으로 변환할 수 있는 무료 온라인 이미지 벡터화 도구 를 제공합니다. 이 애플리케이션을 사용하면 다양한 옵션을 적용하여 완벽한 결과를 얻을 수 있습니다. 지금 이 이미지 벡터라이저를 사용해 시간을 절약하고 벡터 그래픽의 이점을 경험해 보세요!


자주하는 질문

1. Image을 어떻게 벡터화할 수 있나요?

Aspose.SVG를 사용하면 온라인 또는 프로그래밍 방식으로 Image을 SVG로 변환할 수 있습니다. 예를 들어 이미지를 빠르고 고품질로 변환하는 온라인 Image Vectorizer 를 사용하여 Image을 실시간으로 벡터화할 수 있습니다. 반면에 .NET API용 Aspose.SVG를 사용하여 프로그래밍 방식으로 Image을 벡터화할 수 있습니다.

2. 이미지 벡터화는 무엇을 위한 것입니까?

벡터 이미지는 드로잉, 그래픽 또는 스케치로 작업하는 모든 전문가에게 필수적입니다. 많은 디자이너, 프린터, 건축가 및 아티스트는 종종 스케치 또는 드로잉을 벡터 이미지로 작업하도록 선택합니다. 그리고 그들은 좋은 이유가 있습니다! 비트맵 그래픽과 달리 벡터 아트는 품질 손실 없이 크기 조정 및 확장이 가능하며 여전히 선명하게 표시됩니다. 또한 벡터화를 사용하여 이미지를 업데이트하거나 복구할 수 있습니다.
벡터 이미지는 배너, 로고, 지도, 간판, 자수, 판화, 그래프, 청사진 등을 제작하는 데 필요한 것입니다.

3. 래스터에서 벡터로 변환이란 무엇입니까?

래스터에서 벡터로 이미지를 변환하는 과정을 이미지 벡터화라고 합니다. 픽셀로 구성된 비트맵 이미지를 선, 곡선 및 기타 기하학적 모양으로 구성된 벡터 이미지로 변환하는 복잡한 계산 프로세스입니다.

4. 벡터화는 어떻게 발생합니까?

벡터화 프로세스는 컬러 이미지 양자화를 사용합니다. 이 기술은 이미지에 사용되는 서로 다른 색상의 수를 줄이는 기술로, 새 이미지가 원본 이미지와 시각적으로 최대한 유사해야 합니다. 그런 다음 벡터라이저는 일련의 윤곽선 추적 알고리즘을 사용하여 동일한 색상의 점이나 픽셀을 모두 기하학적 모양이나 곡선으로 바꿉니다. 마지막 단계는 추적점을 SVG 경로선과 베지어 곡선으로 변환하고 SVG 문서에 추가하는 것입니다.



Python API 시작하기

확장 가능한 벡터 그래픽과 해당 애플리케이션을 개발하려면 유연한 고속 Aspose.SVG for Python via .NET API를 설치하세요. pip은 Aspose.SVG for Python via .NET API를 다운로드하고 설치하는 가장 쉬운 방법입니다. 이렇게 하려면 다음 명령을 실행하십시오.

pip install aspose-svg-net

Python 라이브러리 설치 및 시스템 요구사항에 대한 자세한 내용은 Aspose.SVG 문서 를 참조하세요.

기타 지원되는 이미지 벡터화 도구

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)