วิธีการทำ stencil?

สเตนซิลรูปภาพคือโครงร่างหรือเทมเพลตที่เรียบง่ายที่สร้างขึ้นจากรูปภาพ และโดยทั่วไปจะใช้เพื่อวัตถุประสงค์ทางศิลปะ เช่น การวาดภาพหรือกราฟฟิตี้ กระบวนการนี้เกี่ยวข้องกับการแปลงรายละเอียดของภาพให้เป็นรูปทรงและเส้นพื้นฐานที่สามารถลากเส้นหรือทำซ้ำได้ง่าย Aspose.SVG for Python via .NET ช่วยให้คุณสร้างสเตนซิลรูปภาพโดยทางโปรแกรมหรือใช้เครื่องสร้าง stencil ออนไลน์ ที่นี่ คุณสามารถเปลี่ยนภาพเวกเตอร์และใช้เทคนิคการลง stencil ทางออนไลน์หรือใช้ Python ได้


เครื่องสร้าง stencil รูปภาพ

Image Stencil Maker รองรับ JPEG, JPG, PJP, PJPEG, PNG, BMP, ICO, GIF, TIFF, SVG และรูปแบบรูปภาพอื่น ๆ ใช้อัลกอริธึมการวัดปริมาณสีเพื่อลดจำนวนสีในภาพของคุณ แปลงภาพเป็น SVG และสร้างงานศิลปะ stencil ออนไลน์ ใช้เครื่อง stencil ฟรีของเราเพื่อสร้างงานศิลปะ stencil ที่น่าทึ่งได้อย่างง่ายดาย!



การลง stencil รูปภาพจะแปลงรูปภาพธรรมดาหรือภาพถ่ายให้เป็นภาพโครงร่าง เหมาะสำหรับการสร้างงานศิลปะ stencil ที่มีเอฟเฟกต์เหมือนกราฟฟิตี้ ต่อไปนี้เป็นขั้นตอนพื้นฐานในการเปลี่ยนภาพถ่ายหรือภาพให้เป็น stencil :

  1. แปลงรูปภาพเป็นระดับสีเทา (ไม่บังคับ) คุณสามารถแปลงรูปภาพเป็นระดับสีเทาหรือลดจำนวนสีเพื่อหาปริมาณได้
  2. กำหนดปริมาณสีของรูปภาพ ขั้นตอนนี้ทำให้รูปภาพง่ายขึ้นโดยการลดชุดสี หลังจากหาปริมาณแล้ว คุณสามารถดาวน์โหลดหรือทำเวกเตอร์ผลลัพธ์เพื่อให้ได้โครงร่างของสเตนซิล
  3. การวาดภาพสเตนซิล การวาดภาพสเตนซิลมีสามตัวเลือก:
    • None – เติมรูปทรงเวกเตอร์ทั้งหมดแล้ว
    • Auto – รูปร่างไม่ถูกเติม และเส้นขอบคงสีเดิมไว้
    • MonoColor – ไม่ได้เติมรูปร่าง และเส้นขอบเป็นสีที่กำหนดไว้ล่วงหน้า



Stencil รูปภาพใน Python

Aspose.SVG for Python via .NET API มีคลาสและเมธอดที่ช่วยให้คุณสามารถปรับใช้กระบวนการของภาพเวกเตอร์และทำงานกับตัวเลือกต่างๆ สำหรับการประมวลผลภาพล่วงหน้าก่อนที่จะบันทึกในรูปแบบเวกเตอร์ SVG นอกจากการควบคุมพารามิเตอร์การทำเวกเตอร์ เช่น trace_smoother, error_threshold, max_iterations, path_builder ฯลฯ แล้ว คุณยังสามารถกำหนดค่าการวาดภาพของสเตนซิลรูปภาพได้อีกด้วย

ในตัวอย่างโค้ดต่อไปนี้ เราแปลงรูปภาพเป็นเวกเตอร์ และใช้เทคนิคการพิมพ์ stencil เพื่อสร้าง stencil:


สร้าง stencil ใน 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)


ขั้นตอนในการสร้าง stencil ใน Python

หากต้องการเปลี่ยนภาพเวกเตอร์และสร้างสเตนซิลด้วยไลบรารี Aspose.SVG Python คุณควรทำตามขั้นตอนต่อไปนี้:

  1. นำเข้าโมดูลและคลาสที่จำเป็นจาก aspose.svg, aspose.svg.imagevectorization และแพ็คเกจที่จำเป็นอื่นๆ
  2. สร้างอินสแตนซ์ของคลาส BezierPathBuilder เพื่อกำหนดกลยุทธ์การสร้างเส้นทาง
    • ตั้งค่าสำหรับคุณสมบัติ trace_smoother โดยใช้อินสแตนซ์ของ ImageTraceSmoother พารามิเตอร์นี้ (ความรุนแรง) ควบคุมว่าเส้นทางที่ติดตามจะถูกปรับให้เรียบมากน้อยเพียงใด
    • ตั้งค่าสำหรับคุณสมบัติ error_threshold ของ BezierPathBuilder พารามิเตอร์นี้กำหนดระยะขอบของข้อผิดพลาดที่ยอมรับได้สำหรับการประมาณรูปร่างบิตแมปด้วยเส้นทางเวกเตอร์
    • ระบุค่าสำหรับคุณสมบัติ max_iterations ของวัตถุ BezierPathBuilder การตั้งค่านี้จะกำหนดจำนวนการวนซ้ำสูงสุดที่อนุญาตสำหรับอัลกอริธึมการปรับเส้นทางให้เหมาะสมในระหว่างการสร้างเวกเตอร์ ซึ่งเป็นจำนวนครั้งที่อัลกอริทึมจะพยายามปรับปรุงความแม่นยำของเส้นทาง
  3. สร้างอินสแตนซ์ของคลาส ImageVectorizer ImageVectorizer เป็นคลาสหลักที่ใช้ในการแปลงรูปภาพเป็นกราฟิกแบบเวกเตอร์
    • กำหนดการกำหนดค่า path_builder (กำหนดไว้ก่อนหน้านี้) ให้กับวัตถุ vectorizer ซึ่งหมายความว่า vectorizer จะใช้การตั้งค่าที่ระบุใน path_builder สำหรับการสร้างและเพิ่มประสิทธิภาพเส้นทาง
    • ตั้งค่าคุณสมบัติ colors_limit ของคลาส ImageVectorizerConfiguration พารามิเตอร์นี้กำหนดจำนวนสีสูงสุดที่จะใช้ในภาพเวกเตอร์ สิ่งนี้ส่งผลต่อวิธีที่ vectorizer จัดการกับการทำให้สีง่ายขึ้น และลดจำนวนสีที่ไม่ซ้ำกันในเอาต์พุต
    • ระบุคุณสมบัติ line_width ของคลาส ImageVectorizerConfiguration การตั้งค่านี้จะกำหนดความกว้างของเส้นทางเวกเตอร์ในไฟล์ SVG ที่ได้
  4. เริ่มต้นอินสแตนซ์ใหม่ของคลาส StencilConfiguration ซึ่งเก็บการตั้งค่าสำหรับกระบวนการสร้างสเตนซิล
    • ตั้งค่าคุณสมบัติ type ของ stencil เป็น MONO_COLOR สิ่งนี้จะสร้างสเตนซิลที่มีสีเดียวสม่ำเสมอสำหรับโครงร่าง
    • ตั้งค่าคุณสมบัติ สี สำหรับโครงร่าง stencil เมธอด Color.from_rgb(0, 0, 255) จะสร้างวัตถุสีที่แสดงถึงสีน้ำเงินโดยใช้ค่า RGB (แดง: 0, เขียว: 0, น้ำเงิน: 255)
    • ใช้การกำหนดค่าสเตนซิลกับเวกเตอร์
  5. ใช้เมธอด vectorize() เพื่อทำให้รูปภาพเป็นเวคเตอร์จากไฟล์ที่ระบุ
  6. บันทึกภาพเวกเตอร์เป็นไฟล์ SVG โดยใช้วิธี save() บน SVGDocument ที่เป็นผลลัพธ์

Aspose.SVG ให้บริการ Image Vectorizer ออนไลน์ฟรีที่ให้คุณแปลงรูปภาพบิตแมป JPG, PNG, BMP, TIFF, ICO และ GIF ให้เป็นกราฟิกแบบเวกเตอร์ ด้วยแอพพลิเคชั่นนี้ คุณสามารถใช้ตัวเลือกต่าง ๆ เพื่อให้ได้ผลลัพธ์ที่สมบูรณ์แบบ ประหยัดเวลาและสัมผัสกับประโยชน์ของกราฟิกแบบเวกเตอร์ด้วยการทดลองใช้ Image Vectorizer วันนี้!


คำถามที่พบบ่อย

1. ฉันจะ vectorize Image ได้อย่างไร

Aspose.SVG ให้คุณแปลง Image เป็น SVG ได้ไม่ว่าจะทางใด ทางออนไลน์หรือทางโปรแกรม ตัวอย่างเช่น คุณสามารถ vectorize Image แบบเรียลไทม์โดยใช้ Image Vectorizer ทางออนไลน์ แปลงรูปภาพของคุณอย่างรวดเร็วและมีคุณภาพสูง ในทางกลับกัน คุณสามารถใช้ Aspose.SVG for .NET API เพื่อ vectorize Image ทางโปรแกรม

2. การแปลงแรสเตอร์เป็นเวกเตอร์คืออะไร?

กระบวนการแปลงภาพจากแรสเตอร์เป็นเวกเตอร์เรียกว่าการทำให้เป็นเวกเตอร์ภาพ เป็นกระบวนการคำนวณที่ซับซ้อนที่จะแปลงภาพบิตแมปที่ประกอบด้วยพิกเซลเป็นภาพเวกเตอร์ที่ประกอบด้วยเส้น เส้นโค้ง และรูปทรงเรขาคณิตอื่นๆ

3. การทำให้เป็นเวกเตอร์ภาพมีไว้เพื่ออะไร?

ภาพเวกเตอร์เป็นสิ่งจำเป็นสำหรับมืออาชีพที่ทำงานเกี่ยวกับการวาดภาพ กราฟิก หรือสเก็ตช์ นักออกแบบ เครื่องพิมพ์ สถาปนิก และศิลปินหลายคนมักเลือกที่จะทำงานกับภาพร่างหรือภาพวาดเป็นภาพเวกเตอร์ และพวกเขาก็มีเหตุผลที่ดี! แตกต่างจากกราฟิกบิตแมป ศิลปะแบบเวกเตอร์นั้นปรับขนาดและปรับขนาดได้โดยไม่สูญเสียคุณภาพใดๆ และจะยังคงแสดงผลได้อย่างชัดเจนเหมือนเดิม นอกจากนี้ยังสามารถใช้ vectorization เพื่ออัปเดตหรือกู้คืนรูปภาพได้อีกด้วย
ภาพเวกเตอร์คือสิ่งที่คุณต้องการในการผลิตแบนเนอร์ โลโก้ แผนที่ เครื่องหมาย งานปัก งานแกะสลัก กราฟ พิมพ์เขียว ฯลฯ

4. Vectorization เกิดขึ้นได้อย่างไร?

กระบวนการ vectorization ใช้ color image quantization ซึ่งเป็นเทคนิคที่ลดจำนวนสีต่างๆ ที่ใช้ในภาพ โดยตั้งใจให้ภาพใหม่มีความคล้ายคลึงกับภาพต้นฉบับมากที่สุดเท่าที่จะเป็นไปได้ จากนั้น Vectorizer จะแทนที่จุดหรือพิกเซลสีเดียวกันทั้งหมดด้วยรูปทรงเรขาคณิตหรือเส้นโค้งโดยใช้ชุดของอัลกอริทึมการติดตามรูปร่าง ขั้นตอนสุดท้ายคือการแปลงจุดการติดตามเป็นเส้นพาธ 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

Vectorizers รูปภาพที่รองรับอื่น ๆ

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)