Image Vectorization - โค้ด C# และ Online Vectorizer

คุณพร้อมที่จะไปยังการวาดภาพเวกเตอร์หรือไม่?

Image Vectorization คืออะไร?

Image vectorization เป็นกระบวนการแปลงภาพบิตแมปเป็นกราฟิกแบบเวกเตอร์ - เส้นโค้ง Bezier, splines และเส้น Vectorization มีประโยชน์เพราะภาพจะไม่แตกเป็นพิกเซลเมื่อคุณขยายภาพ การปรับขนาดโดยไม่สูญเสียคุณภาพ ขนาดไฟล์ที่เล็ก และการรองรับแอนิเมชั่น - เป็นข้อได้เปรียบเพียงเล็กน้อยของภาพเวกเตอร์ ไม่ว่าคุณจะชอบการวาดภาพ การออกแบบ ศิลปะ การพิมพ์ สถาปัตยกรรม หรือการพัฒนาเว็บ ภาพเวกเตอร์เป็นส่วนสำคัญของอาชีพนี้ ในทางกลับกัน คุณเพียงแค่ทดลองกับรูปภาพและรับเอฟเฟกต์เวกเตอร์สนุกๆ ในบทความนี้ เราจะดูวิธีแปลงรูปภาพเป็นกราฟิกแบบเวกเตอร์ใน C# หรือใช้ Image Vectorizer ออนไลน์


Image Vectorizer ออนไลน์

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


จะใช้ Image Vectorizer ได้อย่างไร?

  1. ขั้นแรก โหลดภาพแรสเตอร์จากระบบไฟล์ในเครื่องเป็น JPEG, JPG, PJP, PJPEG, WEBP, PNG, BMP, ICO, GIF, TIFF, XBM หรือรูปแบบบิตแมปอื่นๆ คุณจะเห็นหน้าต่างสามหน้าต่าง - รูปภาพต้นฉบับ รูปภาพเชิงปริมาณ และรูปภาพเวกเตอร์ - พร้อมการแสดงตัวอย่างรูปภาพเริ่มต้น ภาพเชิงปริมาณสี และภาพเวกเตอร์
  2. Image Vectorizer แปลง Image เป็นเวกเตอร์ด้วยการตั้งค่าเริ่มต้น และคุณสามารถดาวน์โหลด vectorized Image เป็นไฟล์ SVG แต่เพื่อให้ได้ผลลัพธ์ที่ดีขึ้น คุณสามารถจัดการกับกระบวนการกำหนดปริมาณและเวกเตอร์ด้วยแถบด้านข้างการตั้งค่าสองแถบ คลิกปุ่ม “Quantize” เพื่อใช้การตั้งค่าการหาปริมาณ คลิกปุ่ม “Vectorize” เพื่อใช้การตั้งค่า vectorization และแปลง Image เป็น SVG
  3. คลิกปุ่ม “ดาวน์โหลด” เพื่อรับผลลัพธ์

Image Vectorizer แปลงภาพบิตแมปแรสเตอร์เป็นงานศิลปะเวกเตอร์ที่สร้างจากโครงร่าง อัลกอริทึม vectorization รวมถึงขั้นตอนต่อไป: การกำหนดปริมาณสี, การติดตามรูปร่าง, การติดตามที่ราบรื่น, การลดความซับซ้อนของการติดตาม และการสร้างองค์ประกอบเส้นทาง SVG จากการติดตาม ใช้การตั้งค่าแบบกำหนดเองเพื่อให้ได้ผลลัพธ์เวกเตอร์ Image ที่ดีที่สุด

Quantization Options

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

  • colors - ขนาดจานสีที่ต้องการ;
  • method - เมธอดฮิสโตแกรมที่ใช้อัลกอริธึมการกำหนดปริมาณสีแบบต่างๆ
  • minHueCols - เป็นพารามิเตอร์ที่ทำงานร่วมกับการไล่ระดับสี
  • scale - หรือสเกลแฟกเตอร์ - กำหนดค่าได้สำหรับการสุ่มตัวอย่างสีที่ละเอียดขึ้นหรือหยาบขึ้น
  • grayscale - คุณสามารถแปลงภาพเป็นโทนสีเทาได้โดยคลิกช่องทำเครื่องหมาย

Vectorization Options

  • threshold - มีหน้าที่กำหนดจำนวนพิกเซลเพื่อทำเครื่องหมายรูปร่าง
  • severity - ส่งผลต่อความเรียบของเส้นโครงร่างและกำหนดขอบเขตของพื้นที่ที่พิจารณาจากจุดสอบถาม วิธีเพื่อนบ้านที่ใกล้ที่สุด
  • line-width - มีผลกับความกว้างของเส้นสำหรับการทำเครื่องหมายเส้นขอบ
  • stencil - เปลี่ยนภาพหรือภาพถ่ายธรรมดาให้เป็นภาพโครงร่างที่สามารถใช้เป็นลายฉลุสำหรับเอฟเฟกต์กราฟฟิตี
  • trace paths - คุณสามารถดูจุดในเส้นโค้งที่รับผิดชอบในการสร้างส่วนของเส้นทาง

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

วิธีทำให้ภาพเป็นเวกเตอร์ใน C#

Aspose.SVG สำหรับ .NET API มีไลบรารี C# ความเร็วสูงที่คุณสามารถใช้สำหรับงานแยกวิเคราะห์ SVG ต่างๆ ImageVectorization เนมสเปซประกอบด้วยคลาสและอินเทอร์เฟซสำหรับการนำกระบวนการ vectorization ของภาพไปใช้ และทำงานกับตัวเลือกการประมวลผลล่วงหน้าต่างๆ สำหรับรูปภาพก่อนที่จะบันทึกในรูปแบบเวกเตอร์ การประมวลผลเกี่ยวข้องกับการควบคุมตัวเลือก vectorization ต่อไปนี้: TraceSimplifier, TraceSmoother, PathBuilder เป็นต้น


Image Vectorization ใน 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");

ขั้นตอนในการ Vectorize Image ใน C#

  1. เริ่มต้นอินสแตนซ์ของคลาส ImageVectorizer ใช้ตัวสร้าง ImageVectorizer() ตัวใดตัวหนึ่งและระบุคุณสมบัติการกำหนดค่า
    • คุณสมบัติ TraceSmoother กำหนดให้ร่องรอยเรียบขึ้น ใช้เพื่อปรับเศษของรูปทรงให้เรียบ
    • คุณสมบัติ TraceSimplifier ตั้งค่าการติดตามให้ง่ายขึ้น ด้วยเหตุนี้ เส้นโค้งการติดตามจะถูกสร้างขึ้นโดยประกอบด้วยส่วนของเส้นตรงที่มีจุดที่น้อยกว่า (หรือใหญ่กว่า)
    • คุณสมบัติ PathBuilder ตั้งค่าตัวสร้างเซ็กเมนต์เส้นทาง SVG และส่งผลต่อความโค้งที่โค้งที่จุดควบคุม
  2. Vectorize Image จากไฟล์ที่กำหนด เมธอด Vectorize() ใช้พาธไปยังไฟล์รูปภาพและส่งคืน SVGDocument
  3. บันทึกภาพเวกเตอร์เป็นไฟล์ SVG ใช้เมธอด Save() และส่งต่อไปยังเอาต์พุตพาธ

ภาพ Vectorization ในเอกสาร

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

  • ขั้นตอนการทำงานของ Image Vectorization - คุณจะพบข้อมูลการทำ vectorization ของภาพ คำอธิบายของกระบวนการ vectorization ภาพและตัวเลือก vectorization เรียนรู้วิธี vectorize ภาพแรสเตอร์ เช่น PNG, JPG, BMP, TIFF, GIF, ICO ให้เป็น SVG เอกสาร.
  • ตัวอย่าง Image Vectorization - คุณจะพิจารณาตัวอย่าง C# สองสามตัวอย่างที่แสดงให้เห็นถึงฟังก์ชันการทำงานของ ImageVectorization และผลกระทบของคุณสมบัติการกำหนดค่าที่มีต่อผลลัพธ์ของ vectorization

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

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

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

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

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

เริ่มต้นใช้งาน .NET SVG API

หากคุณสนใจในการพัฒนากราฟิกแบบเวกเตอร์ที่ปรับขนาดได้และแอปพลิเคชันของพวกเขา ให้ติดตั้ง Aspose.SVG ความเร็วสูงที่ยืดหยุ่นของเราสำหรับ .NET API พร้อมชุดอินเทอร์เฟซอันทรงพลังสำหรับภาษาโปรแกรม C# และ .NET อื่นๆ
ติดตั้งจากบรรทัดคำสั่งเป็น nuget install Aspose.SVG หรือผ่าน Package Manager Console ของ Visual Studio ด้วย Install-Package Aspose.SVG อีกทางหนึ่ง รับตัวติดตั้ง MSI หรือ DLL แบบออฟไลน์ในไฟล์ ZIP จาก ดาวน์โหลด Aspose.SVG สำหรับ .NET API เป็นไลบรารีแบบสแตนด์อโลนและไม่ต้องพึ่งพาซอฟต์แวร์ใดๆ สำหรับการประมวลผลเอกสาร SVG
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการติดตั้งไลบรารี C# และความต้องการของระบบ โปรดดูที่ เอกสาร Aspose.SVG

Vectorizers อื่น ๆ ที่รองรับ

ประหยัดเวลาของคุณและตรวจสอบ Image Vectorizers เหล่านี้เพื่อรับประโยชน์ทั้งหมดของกราฟิกแบบเวกเตอร์!

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)