SVG <path>
- เป็นไปไม่ได้ง่ายเลยครับ!!! เนื่องจากเส้นทางวาดเป็นสิ่งที่ซับซ้อนมาก จึงแนะนำให้ใช้เครื่องประกอบ SVG เพื่อสร้างกราฟิกส์ที่ซับซ้อน หน้าก่อนหน้า
- หน้าต่อไป ข้อความ SVG
SVG ทางเส้น - <path>
<path>
เป็นตัวแบบสำหรับการกำหนดทางเส้น
คำสั่งดังกล่าวสามารถใช้สำหรับข้อมูลทางเส้นทาง
- M = moveto (ย้ายตำแหน่ง)
- L = lineto (วาดเส้นตรง)
- H = horizontal lineto (เส้นตรงน้ำเข้น)
- V = vertical lineto (เส้นตรงตั้งฐาน)
- C = curveto (เส้นโค้งทรง)
- S = smooth curveto (เส้นโค้งทรงสมบูรณ์)
- Q = quadratic Bézier curve (เส้นโค้งทรงสองเชื่อม)
- T = smooth quadratic Bézier curveto (เส้นโค้งทรงสมบูรณ์สองเชื่อม)
- A = elliptical Arc (เส้นโค้งทรงหรือวงกลม)
- Z = closepath (ปิดทางเส้น)
หมายเหตุ: ทั้งหมดคำสั่งดังกล่าวก็สามารถใช้ตัวอักษรเล็กได้ด้วย ตัวอักษรใหญ่หมายถึงการตั้งตำแหน่งอัตรานั้น ตัวอักษรเล็กหมายถึงการตั้งตำแหน่งเรlativ
ตัวอย่าง 1
ตัวอย่างด้านล่างนี้นิยามทางเส้นทางหนึ่ง จุดเริ่มต้นที่ 150,0 แล้ววาดเส้นไปที่จุด 75,200 จากนั้นวาดเส้นไปที่จุด 225,200 แล้วปิดทางเส้นกลับมาที่ 150,0
นี่คือรหัส SVG:
<svg height="210" width="400"> <path d="M150 0 L75 200 L225 200 Z" /> </svg>
ตัวอย่าง 2
เบซีเออร์ความยาว (Bézier curves) ใช้สำหรับตัวแบบรูปทรงที่สามารถย่อยาวได้ไม่จำกัด โดยทั่วไป ผู้ใช้จะเลือกจุดจบทั้งสองจุดและจุดควบคุมหนึ่งหรือสองจุด ทางเบซีเออร์ที่มีจุดควบคุมหนึ่งเรียกว่าเบซีเออร์ความยาวสองเชื่อม (quadratic Bézier curve) และทางเบซีเออร์ที่มีจุดควบคุมสองเรียกว่าเบซีเออร์ความยาวสาม (cubic)
ตัวอย่างสร้างเส้นโค้งบีเอสเอ ที่ A และ C เป็นจุดเริ่มต้นและจุดสิ้นสุด และ B เป็นจุดควบคุม:
นี่คือรหัส SVG:
<svg height="400" width="450"> <path id="lineAB" d="M 100 350 l 150 -300" stroke="red" stroke-width="3" fill="none" /> <path id="lineBC" d="M 250 50 l 150 300" stroke="red" stroke-width="3" fill="none" /> <path d="M 175 200 l 150 0" stroke="green" stroke-width="3" fill="none" /> <path d="M 100 350 q 150 -300 300 0" stroke="blue" stroke-width="5" fill="none" /> <!-- ทิศทางของจุดที่เกี่ยวข้อง --> <g stroke="black" stroke-width="3" fill="black"> <circle id="pointA" cx="100" cy="350" r="3" /> <circle id="pointB" cx="250" cy="50" r="3" /> <circle id="pointC" cx="400" cy="350" r="3" /> </g> <!-- ให้จุดมีขอบเขต --> <g font-size="30" font-family="sans-serif" fill="black" stroke="none" text-anchor="middle"> <text x="100" y="350" dx="-30">A</text> <text x="250" y="50" dy="-10">B</text> <text x="400" y="350" dx="30">C</text> </g> </svg>
ทดลองด้วยตัวเอง
- เป็นไปไม่ได้ง่ายเลยครับ!!! เนื่องจากเส้นทางวาดเป็นสิ่งที่ซับซ้อนมาก จึงแนะนำให้ใช้เครื่องประกอบ SVG เพื่อสร้างกราฟิกส์ที่ซับซ้อน หน้าก่อนหน้า
- หน้าต่อไป ข้อความ SVG