SVG คืออะไร?
- SVG ย่อมาจาก Scalable กราฟิกแบบเวกเตอร์
- SVG ใช้เพื่อกำหนดกราฟิกสำหรับเว็บ
- SVG เป็นคำแนะนำ W3C
Scalable Vector Graphics (SVG) เป็นรูปแบบภาพเวกเตอร์ XML สำหรับกราฟิกสองมิติที่มีการสนับสนุนสำหรับการติดต่อสื่อสารและภาพเคลื่อนไหว ข้อกำหนด SVG เป็นมาตรฐานเปิดที่พัฒนาโดย World Wide Web สมาคม (W3C) ตั้งแต่ปี 1999
ภาพ SVG และพฤติกรรมของพวกเขาถูกกำหนดไว้ในไฟล์ข้อความ XML ซึ่งหมายความว่าพวกเขาจะสามารถค้นหาจัดทำดัชนีสคริปต์และการบีบอัด เป็นไฟล์ XML, ภาพ SVG สามารถสร้างและแก้ไขด้วยโปรแกรมแก้ไขข้อความใด ๆ เช่นเดียวกับการวาดภาพซอฟแวร์
ทั้งหมดที่สำคัญเว็บเบราว์เซอร์ที่ทันสมัยรวมทั้ง Mozilla Firefox, Internet Explorer, Google Chrome, Opera, Safari และการสนับสนุนของ Microsoft Edge-SVG ได้แสดงผล
ใช้ HTML <svg> ธาตุ
ใช้ HTML <svg> องค์ประกอบ (introduced in HTML5) เป็นภาชนะสำหรับกราฟิก SVG
SVG มีหลายวิธีในการวาดภาพเส้นทางกล่องวงการข้อความและภาพกราฟิก
สนับสนุนเบราว์เซอร์
ตัวเลขในตารางระบุราว์เซอร์รุ่นแรกที่สนับสนุนอย่างเต็มที่ <svg> องค์ประกอบ
ธาตุ | |||||
---|---|---|---|---|---|
<svg> | 4.0 | 9.0 | 3.0 | 3.2 | 10.1 |
SVG วงกลม
ตัวอย่าง
<!DOCTYPE html>
<html>
<body>
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
</body>
</html>
ลองตัวเอง» SVG สี่เหลี่ยมผืนผ้า
rgb (0,0,0) ">
ตัวอย่าง
<svg width="400" height="100">
<rect width="400" height="100" style="fill:rgb(0,0,255);stroke-width:10;stroke:rgb(0,0,0)" />
</svg>
ลองตัวเอง» SVG โค้งสี่เหลี่ยมผืนผ้า
ขออภัยเบราว์เซอร์ของคุณไม่สนับสนุน SVG แบบอินไลน์
ตัวอย่าง
<svg width="400" height="180">
<rect x="50" y="20" rx="20" ry="20" width="150" height="150"
style="fill:red;stroke:black;stroke-width:5;opacity:0.5" />
</svg>
ลองตัวเอง» SVG ดาว
ขออภัยเบราว์เซอร์ของคุณไม่สนับสนุน SVG แบบอินไลน์
ตัวอย่าง
<svg width="300" height="200">
<polygon points="100,10 40,198 190,78 10,78 160,198"
style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
</svg>
ลองตัวเอง» SVG โลโก้
SVG ขออภัยเบราว์เซอร์ของคุณไม่สนับสนุน SVG แบบอินไลน์
ตัวอย่าง
<svg height="130" width="500">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
</linearGradient>
</defs>
<ellipse cx="100" cy="70" rx="85" ry="55" fill="url(#grad1)" />
<text fill="#ffffff" font-size="45" font-family="Verdana" x="50" y="86">SVG</text>
Sorry, your browser does not support inline SVG.
</svg>
ลองตัวเอง» ความแตกต่างระหว่าง SVG และ Canvas
SVG ภาษาสำหรับการอธิบายกราฟิก 2D ในรูปแบบ XML
Canvas วาดภาพกราฟิก 2D, เกี่ยวกับการบิน (with a JavaScript)
SVG เป็น XML ตามซึ่งหมายความว่าทุกองค์ประกอบสามารถใช้ได้ภายใน DOM แล้ว SVG คุณสามารถแนบ JavaScript จัดการเหตุการณ์สำหรับองค์ประกอบ
ใน SVG แต่ละรูปวาดจำได้ว่าเป็นวัตถุ ถ้าลักษณะของวัตถุที่มีการเปลี่ยนแปลง SVG, เบราว์เซอร์สามารถอีกครั้งโดยอัตโนมัติทำให้รูปร่าง
ผ้าใบมีการแสดงพิกเซลโดยพิกเซล ในผ้าใบเมื่อวาดกราฟฟิกก็จะถูกลืมโดยเบราว์เซอร์ ถ้าตำแหน่งที่ควรจะมีการเปลี่ยนแปลงฉากทั้งหมดจะต้องมีการวาดใหม่รวมทั้งวัตถุใด ๆ ที่อาจได้รับการคุ้มครองโดยกราฟิก
เปรียบเทียบผ้าใบและ SVG
ตารางด้านล่างแสดงให้เห็นความแตกต่างที่สำคัญบางอย่างระหว่างผ้าใบและ SVG:
Canvas | SVG |
---|---|
|
|
ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ SVG โปรดอ่าน กวดวิชา SVG