เครื่องมือปรับแต่งและแสดงตัวอย่าง SVG

แสดงตัวอย่างและปรับแต่งโค้ด SVG ได้ทันที

ตัวอย่างการใช้งานจริงของการปรับแต่ง SVG

การปรับแต่งไฟล์ SVG ช่วยเพิ่มประสิทธิภาพการทำงานของวิศวกรเว็บอย่างมากในสถานการณ์ต่อไปนี้:

1. ทำให้เว็บไซต์เบาขึ้น

ไอคอน SVG หรือโลโก้ที่ได้รับจากนักออกแบบจะมีข้อมูลเมตาที่สร้างโดยเครื่องมืออย่าง Adobe Illustrator หรือ Figma ทำให้ขนาดไฟล์ใหญ่ขึ้น การปรับแต่งสามารถลดขนาดไฟล์ SVG ที่ฝังใน HTML หรือ CSS ได้ 30-50% และปรับปรุงความเร็วในการโหลดหน้าเว็บ

2. ปรับปรุงประสิทธิภาพบนมือถือ

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

3. การประมวลผลหลังจากเอาต์พุตเครื่องมือออกแบบ

เครื่องมือออกแบบอย่าง Illustrator, Sketch, Figma จะรวมข้อมูลเลเยอร์ ไกด์ องค์ประกอบที่ซ่อนอยู่ และข้อมูลการแก้ไขอื่นๆ ไว้ใน SVG ข้อมูลเหล่านี้ไม่จำเป็นสำหรับการแสดงผล สามารถลบออกได้ทั้งหมดด้วยเครื่องมือนี้

4. การฝัง SVG แบบอินไลน์

เมื่อฝัง SVG โดยตรงใน HTML ความสามารถในการอ่านโค้ดเป็นสิ่งสำคัญ การปรับแต่งจะลบความคิดเห็นและช่องว่างที่ไม่จำเป็น ช่วยรักษาซอร์สโค้ด HTML ให้สะอาดและลดขนาดไฟล์ด้วย

5. การสร้างระบบไอคอน

ในระบบไอคอนที่จัดการไอคอน SVG หลายตัวเป็นสัญลักษณ์ การปรับแต่งแต่ละ SVG สามารถลดขนาดบันเดิลโดยรวมได้อย่างมาก โดยเฉพาะใน React, Vue และการพัฒนาแบบคอมโพเนนต์อื่นๆ จะมีประสิทธิภาพมาก

6. การประมวลผลล่วงหน้าในไปป์ไลน์บิลด์

ก่อนที่จะแนะนำเครื่องมืออัตโนมัติอย่าง SVGO การใช้เครื่องมือนี้ในการตรวจสอบด้วยตนเองสามารถประเมินผลของการปรับแต่งล่วงหน้าได้ ยังมีประโยชน์เป็นการทดสอบก่อนที่จะรวมเข้ากับไปป์ไลน์ CI/CD

การปรับแต่ง SVG คืออะไร? องค์ประกอบที่ถูกลบ

การปรับแต่ง SVG คือการประมวลผลเพื่อลบข้อมูลที่ไม่จำเป็นออกจากไฟล์ SVG เพื่อลดขนาดไฟล์โดยไม่เปลี่ยนรูปลักษณ์ของภาพ เครื่องมือนี้จะลบองค์ประกอบต่อไปนี้โดยอัตโนมัติ:

องค์ประกอบที่ถูกลบ

  • ความคิดเห็น XML (<!-- ... -->) - ความคิดเห็นที่นักออกแบบหรือเครื่องมือทิ้งไว้
  • แท็กข้อมูลเมตา (<metadata>) - ข้อมูลผู้เขียน วันที่สร้าง ข้อมูลลิขสิทธิ์ ฯลฯ
  • ชื่อเรื่องและคำอธิบาย (<title>, <desc>) - สำหรับการเข้าถึงแต่ไม่จำเป็นสำหรับการแสดงผล
  • เนมสเปซเฉพาะของโปรแกรมแก้ไข (xmlns:sketch, xmlns:inkscape ฯลฯ) - ข้อมูลเฉพาะของเครื่องมือแก้ไข
  • คุณลักษณะเฉพาะของโปรแกรมแก้ไข (sketch:*, inkscape:*, sodipodi:* ฯลฯ) - ข้อมูลการแก้ไขของ Sketch, Inkscape ฯลฯ
  • ช่องว่างและการขึ้นบรรทัดใหม่ที่ไม่จำเป็น - การจัดรูปแบบเพื่อให้มนุษย์อ่านได้เท่านั้น

ประโยชน์ของการปรับแต่ง

  • ลดขนาดไฟล์ (โดยปกติลด 30-50%) - เพิ่มความเร็วในการโหลดหน้าเว็บ
  • เพิ่มความสามารถในการอ่านซอร์สโค้ด HTML - ทำความสะอาดโค้ดเมื่อใช้ SVG แบบอินไลน์
  • ลดขนาดบันเดิล - ลดขนาดบันเดิล JS เมื่อบิลด์ด้วย Webpack, Vite ฯลฯ
  • เพิ่มความเร็วในการเรนเดอร์ - ลดจำนวนโหนดที่เบราว์เซอร์ต้องประมวลผล

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

การปรับแต่งจะเปลี่ยนรูปลักษณ์ของ SVG หรือไม่?

ไม่ การปรับแต่งจะลบเฉพาะข้อมูลเมตาและความคิดเห็นที่ไม่มีผลต่อการแสดงผล ดังนั้นรูปลักษณ์ของ SVG จะไม่เปลี่ยนแปลงเลย สี รูปร่าง ขนาดจะถูกเก็บไว้ทั้งหมด

ขนาดไฟล์จะลดลงเท่าไร?

สำหรับ SVG ที่เอาต์พุตจากเครื่องมือออกแบบ โดยทั่วไปสามารถคาดหวังการลดขนาด 30-50% ไฟล์ที่เอาต์พุตจาก Adobe Illustrator หรือ Sketch จะมีผลการลดขนาดที่สูงเป็นพิเศษ

SVG ที่เขียนด้วยมือแบบง่ายๆ จะมีผลการปรับแต่งหรือไม่?

SVG ที่เขียนด้วยมือแบบง่ายๆ ไม่มีข้อมูลเมตา ดังนั้นผลการลดขนาดอาจน้อย ส่วนใหญ่จะมีผลกับ SVG ที่เอาต์พุตจากเครื่องมือออกแบบ

การปรับแต่งจะทำให้แอนิเมชันหรือการโต้ตอบเสียหายหรือไม่?

เครื่องมือนี้จะไม่เปลี่ยนแปลงองค์ประกอบที่เกี่ยวข้องกับการแสดงผล (<path>, <circle>, <animate> ฯลฯ) เลย ดังนั้นแอนิเมชัน สไตล์ CSS หรือการจัดการด้วย JavaScript จะทำงานได้ตามปกติ

<title> และ <desc> สำหรับการเข้าถึงจะถูกลบด้วยหรือไม่?

ใช่ เครื่องมือนี้ให้ความสำคัญกับการลดขนาดไฟล์ ดังนั้น <title> และ <desc> จะถูกลบด้วย หากการเข้าถึงเป็นสิ่งสำคัญ กรุณาเพิ่มด้วยตนเองหลังจากปรับแต่ง หรือใช้เครื่องมือขั้นสูงอย่าง SVGO

สามารถปรับแต่งไฟล์ SVG หลายไฟล์พร้อมกันได้หรือไม่?

เวอร์ชันปัจจุบันจะประมวลผลทีละไฟล์ หากต้องการประมวลผลไฟล์จำนวนมาก แนะนำให้ใช้เครื่องมือบรรทัดคำสั่งอย่าง SVGO

สามารถเรียก SVG ที่ปรับแต่งแล้วกลับมาได้หรือไม่?

ข้อมูลที่ถูกลบไม่สามารถกู้คืนได้ แนะนำให้บันทึกไฟล์ SVG ต้นฉบับแยกไว้เสมอ กรุณาสำรองข้อมูลต้นฉบับก่อนที่จะประมวลผลด้วยเครื่องมือนี้

ความแตกต่างกับ SVGO คืออะไร?

SVGO เป็นเครื่องมือปรับแต่งฟังก์ชันสูงที่ใช้ Node.js สามารถทำการปรับแต่งขั้นสูงเช่นการทำให้เส้นทางง่ายขึ้น เครื่องมือนี้ทำงานในเบราว์เซอร์และเชี่ยวชาญในการปรับแต่งพื้นฐานเช่นการลบข้อมูลเมตา คุณสมบัติเด่นคือความสะดวกและการแสดงตัวอย่างทันที

เครื่องมือที่เกี่ยวข้องและมีประโยชน์