การแปลงรูปภาพเป็นเวกเตอร์ – รหัส C# และเครื่องมือออนไลน์
พร้อมที่จะเปลี่ยนไปใช้กราฟิกเวกเตอร์แล้วหรือยัง?
การแปลงรูปภาพเป็นเวกเตอร์คืออะไร?
การแปลงรูปภาพเป็นเวกเตอร์ (Vectorization) คือกระบวนการแปลงรูปภาพบิตแมปมาตรฐานให้เป็นกราฟิกเวกเตอร์ที่ปรับขนาดได้ทางคณิตศาสตร์ ซึ่งประกอบด้วยเส้นโค้งเบซิเยร์ สพลาย และเส้นตรง ข้อดีหลักของการแปลงเป็นเวกเตอร์คือรูปภาพจะไม่แตกเป็นพิกเซลเมื่อขยาย การปรับขนาดโดยไม่เสียคุณภาพ ขนาดไฟล์ที่เล็กลงอย่างน่าทึ่ง และการรองรับแอนิเมชันที่ราบรื่นเป็นเพียงส่วนหนึ่งของประโยชน์จากการใช้กราฟิกเวกเตอร์ Aspose.SVG for .NET API ช่วยให้คุณสามารถใช้กระบวนการแปลงเป็นเวกเตอร์ด้วย C# ความเร็วสูง ทำให้คุณควบคุมวิธีที่รูปภาพแรสเตอร์จะถูกวาดตามรอยและแปลงเป็นไฟล์ SVG ที่สะอาดตาได้อย่างสมบูรณ์
เครื่องมือแปลงรูปภาพเป็นเวกเตอร์ออนไลน์
เครื่องมือแปลงเป็นเวกเตอร์แบบโต้ตอบของเราได้รับการออกแบบมาเพื่อแปลงรูปภาพแรสเตอร์เป็นกราฟิกเวกเตอร์ได้ทันที โดยสร้างรูปทรงเรขาคณิตที่แม่นยำประกอบด้วยเส้นโค้งเบซิเยร์และเส้นตรง และบันทึกองค์ประกอบที่สร้างขึ้นทั้งหมดเป็นไฟล์ SVG ที่สะอาดตา เครื่องมือนี้รองรับรูปแบบบิตแมปมาตรฐานเกือบทั้งหมด รวมถึง JPEG, PNG, BMP, ICO, GIF, TIFF, WEBP คุณสามารถทดสอบตัวเลือการแปลงเป็นเวกเตอร์ต่างๆ เช่น การจำกัดสีและการทำลายเส้นให้เรียบ ได้โดยตรงในเบราว์เซอร์ของคุณก่อนที่จะดาวน์โหลดเวกเตอร์อาร์ตที่ปรับขนาดได้ขั้นสุดท้าย!
จะใช้ Image Vectorizer ได้อย่างไร?
- โหลดภาพแรสเตอร์ต้นฉบับจากระบบไฟล์ในเครื่องของคุณ UI แสดงสามแผง: Source Image, Quantized Image และ Vectorized Image
- เครื่องมือประเมิน
Imageโดยใช้คุณสมบัติเริ่มต้น หากต้องการปรับ SVG ให้เหมาะสม ให้ใช้แถบด้านข้างเพื่อปรับพารามิเตอร์การหาปริมาณและเวกเตอร์ไลเซชัน คลิก Quantize เพื่อดูตัวอย่างการลดจานสี จากนั้นคลิก Vectorize เพื่อแสดงเส้นทาง SVG - คลิก Download เพื่อบันทึกไฟล์เวกเตอร์ที่สร้างขึ้น
Quantization Options
ปรับการตั้งค่าเหล่านี้เพื่อควบคุมวิธีที่อัลกอริธึมจัดกลุ่มพิกเซลและลดจานสีเริ่มต้น:
- colors – กำหนดข้อจำกัดขนาดจานสีสูงสุดที่แน่นอน
- method – สลับระหว่างอัลกอริธึมการหาปริมาณสีแบบฮิสโตแกรม
- minHueCols – ควบคุมขีดจำกัดความไวสำหรับการจัดการการไล่ระดับสี
- scale – ปรับปัจจัยการปรับขนาดเพื่อการสุ่มตัวอย่างสีที่ละเอียดขึ้นหรือหยาบขึ้น
- grayscale – บังคับให้เอาต์พุตเป็นขอบเขตโมโนโครม
Vectorization Options
ควบคุมพฤติกรรมการติดตามทางเรขาคณิตที่ใช้กับแผนที่เชิงปริมาณ:
- threshold – กำหนดข้อจำกัดความไวของพิกเซลสำหรับการตรวจจับขอบเขตโครงร่าง
- severity – ปรับเปลี่ยนการทำให้โครงร่างเรียบโดยใช้การกำหนดขนาดเชิงพื้นที่แบบเพื่อนบ้านที่ใกล้ที่สุด
- line-width – กำหนดความหนาของเส้นที่กำหนดให้กับเส้น SVG ที่สร้างขึ้น
- stencil – ใช้มาสก์โครงร่างแบบไบนารี เหมาะอย่างยิ่งสำหรับการแปลงภาพถ่ายโทนสีต่อเนื่องเป็นซิลูเอตแบบลายฉลุ
- trace paths – สลับการแสดงผลภาพของจุดควบคุมเส้นโค้งเบซิเอร์และสไปลน์ที่ใช้สร้างส่วน
วิธีแปลงรูปภาพเป็นเวกเตอร์ใน C#
Aspose.SVG for .NET API
มีเนมสเปซ
ImageVectorization
โดยเฉพาะ ซึ่งจะจัดการงานหนักทั้งหมดของการแปลงรูปภาพเป็นเวกเตอร์ คลาสเหล่านี้ช่วยให้คุณควบคุมทางเลือกการประมวลผลเบื้องต้นต่างๆ ได้อย่างง่ายดาย เช่น การปรับ ColorsLimit เพื่อทำให้รูปภาพง่ายขึ้น หรือการใช้ TraceSmoother ภายใน PathBuilder เพื่อลบขอบพิกเซลที่ขรุขระก่อนที่จะบันทึกผลลัพธ์สุดท้าย
การแปลงรูปภาพเป็นเวกเตอร์ด้วย C#
// Initialize an instance of the ImageVectorizer class
ImageVectorizer vectorizer = new ImageVectorizer
{
// Optionally set a configuration and specify configuration properties
Configuration =
{
// Optionally create an instance of the PathBuilder class
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 (SVGDocument document = vectorizer.Vectorize(Path.Combine(DataDir, "image.png")))
{
// Save vectorized image as SVG file
document.Save(Path.Combine(OutputDir, "image.svg"));
}
ขั้นตอนการแปลงรูปภาพเป็นเวกเตอร์ใน C#
การเปลี่ยนรูปภาพแรสเตอร์เป็นโมเดลเวกเตอร์ที่ปรับขนาดได้ใน C# ต้องใช้สามขั้นตอนง่ายๆ ดังนี้:
- เริ่มต้นอินสแตนซ์ของคลาส
ImageVectorizer
และกำหนดคุณสมบัติ
Configuration
ของครัสมัน
- ใช้
ColorsLimitเพื่อกำหนดจำนวนสีสูงสุดที่จะใช้ในการวาดตามรอยเพื่อปรับขนาดรูปภาพให้เหมาะสม - เชื่อมต่อ BezierPathBuilder เพื่อสร้างเส้นโค้งที่เรียบเนียนจากเค้าโครงพิกเซลอย่างแม่นยำ
- ใช้ ImageTraceSmoother เพื่อทำความสะอาดขอบที่ขรุขระหรือไม่สม่ำเสมอให้เรียบเนียน
- ใช้
- เรียกเมธอด
Vectorize()
โดยระบุเส้นทางไปยังรูปภาพต้นฉบับเพื่อสร้าง
SVGDocumentที่ใช้งานอยู่ - บันทึกรูปภาพเวกเตอร์ที่ได้ลงในระบบไฟล์โดยใช้เมธอด Save() มาตรฐาน
การแปลงรูปภาพเป็นเวกเตอร์ในเอกสาร
Scalable Vector Graphics (SVG) เป็นมาตรฐานสำหรับการแสดงผลกราฟิกบนเว็บคุณภาพสูงในปัจจุบัน เนื่องจากสร้างรูปภาพที่คมชัดซึ่งปรับได้ทุกขนาดโดยไม่สูญเสียคุณภาพ หากต้องการเชี่ยวชาญการแปลงนี้ โปรดศึกษาคู่มือ
Vectorization – Basic Overview
ของเรา
- Image Vectorization Workflow – แสดงรายละเอียดทางเลือกการแปลงเป็นเวกเตอร์ที่ชัดเจน โดยแสดงให้คุณเห็นว่าควรวาดตามรอยรูปภาพแรสเตอร์เป็นเอกสาร SVG มาตรฐานอย่างไร
- Image Vectorization Examples – ศึกษาตัวอย่าง C# จริงที่แสดงให้เห็นว่าการปรับการกำหนดค่าส่งผลโดยตรงต่อผลลัพธ์เวกเตอร์สุดท้ายของคุณอย่างไร
FAQ
คุณสามารถใช้คลาส ImageVectorizer ใน Aspose.SVG เพื่อแยกวิเคราะห์และแปลงบิตแมป Image เป็นเส้นทาง SVG ได้ API .NET ให้การเข้าถึงโดยตรงไปยังอัลกอริทึมการจัดกลุ่มสี (quantization), การสร้างเส้นทาง และการกำหนดค่าการทำให้เรียบ โดยทำการแปลงอย่างเป็นอิสระจากซอฟต์แวร์กราฟิกภายนอก
การแปลงเป็นเวกเตอร์จะวิเคราะห์อาร์เรย์พิกเซล 2 มิติที่แบนราบของบิตแมปต้นฉบับ และสร้างข้อมูลภาพใหม่เป็นเส้นทางคณิตศาสตร์, เส้นโค้งเบซิเยร์ และรูปทรงเรขาคณิต ซึ่งจะแปลไฟล์แรสเตอร์ที่ขึ้นอยู่กับความละเอียดให้เป็นองค์ประกอบเวกเตอร์ที่ปรับขนาดได้สากล
การแปลงสินทรัพย์แรสเตอร์แบบเก่า เช่น โลโก้, พิมพ์เขียว และไดอะแกรมทางเทคนิค ให้เป็นเวกเตอร์ จะช่วยให้ปรับขนาดได้ไม่จำกัดโดยไม่สูญเสียคุณภาพ การทำเช่นนี้โดยอัตโนมัติจะช่วยให้นักพัฒนาสามารถสร้างสินทรัพย์ UI ที่ตอบสนองและไม่ขึ้นกับความละเอียด หรือกราฟิกที่พร้อมสำหรับการพิมพ์ได้โดยตรงบนโครงสร้างพื้นฐานเซิร์ฟเวอร์ของตน
เครื่องมือแปลงเป็นเวกเตอร์จะใช้การจัดกลุ่มสี (color quantization) ก่อนเพื่อรวมพิกเซลที่คล้ายกันและลดนอยส์ของภาพ จากนั้นอัลกอริทึมการติดตามรูปร่างจะตรวจจับขอบเขตและสร้างรูปทรงจากกลุ่มพิกเซลที่ต่อเนื่องกัน ในที่สุด ขอบเขตเหล่านี้จะถูกคำนวณเป็นองค์ประกอบ <path> ของ SVG มาตรฐานโดยใช้สปลินหรือจุดเชื่อมต่อเส้นโค้งเบซิเยร์
เริ่มต้นใช้งาน Aspose.SVG for .NET API
หากคุณสนใจในการพัฒนากราฟิกเวกเตอร์ที่ปรับขนาดได้และแอปพลิเคชัน ให้ติดตั้ง Aspose.SVG for .NET API ที่ยืดหยุ่นและความเร็วสูง พร้อมด้วยชุดอินเทอร์เฟซอันทรงพลังสำหรับ C# และภาษาการเขียนโปรแกรม .NET อื่นๆติดตั้งจากบรรทัดคำสั่งเป็น
nuget install Aspose.SVG หรือผ่าน Package Manager Console ของ Visual Studio ด้วย Install-Package Aspose.SVG
หรือรับตัวติดตั้ง MSI แบบออฟไลน์หรือ DLL ในไฟล์ ZIP จาก
ดาวน์โหลด
Aspose.SVG for .NET API เป็นไลบรารีแบบสแตนด์อโลนและไม่ต้องอาศัยซอฟต์แวร์ใดๆ สำหรับการประมวลผลเอกสาร SVGสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการติดตั้งไลบรารี C# และข้อกำหนดของระบบ โปรดดูที่ เอกสารประกอบ Aspose.SVG
เครื่องมือแปลงเป็นเวกเตอร์อื่นๆ ที่รองรับ
ตรวจสอบเครื่องมือแปลงรูปภาพเป็นเวกเตอร์เหล่านี้เพื่อประหยัดเวลาและเพลิดเพลินกับประโยชน์ทั้งหมดของกราฟิกเวกเตอร์!