Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

ผ้าใบ SVG และ HTML5 แตกต่างกันอย่างไร


องค์ประกอบ HTML เป็นคอนเทนเนอร์สำหรับกราฟิก SVG SVG ย่อมาจาก Scalable Vector Graphics SVG และมีประโยชน์สำหรับการกำหนดกราฟิก เช่น กล่อง วงกลม ข้อความ ฯลฯ SVG ย่อมาจาก Scalable Vector Graphics และเป็นภาษาสำหรับการอธิบายกราฟิก 2 มิติและแอปพลิเคชันกราฟิกใน XML จากนั้น XML จะแสดงผลโดยโปรแกรมดู SVG เว็บเบราว์เซอร์ส่วนใหญ่สามารถแสดง SVG ได้เหมือนกับที่แสดง PNG, GIF และ JPG

องค์ประกอบ HTML ใช้เพื่อวาดกราฟิกผ่าน JavaScript องค์ประกอบเป็นคอนเทนเนอร์สำหรับกราฟิก

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

ตัวอย่าง

คุณสามารถลองเรียกใช้โค้ดต่อไปนี้เพื่อเพิ่มกราฟิกแบบเวกเตอร์ที่ปรับขนาดได้ (SVG) ให้กับหน้าเว็บ -

<!DOCTYPE html>
<html>
   <head>
      <style>
         #svgelem {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-20%);
            -ms-transform: translateX(-20%);
            transform: translateX(-20%);
         }
      </style>
      <title>HTML5 SVG</title>
   </head>
   <body>
      <h2 align = "center">HTML5 SVG Circle</h2>
      <svg id = "svgelem" height = "200" xmlns = "https://www.w3.org/2000/svg">
         <circle id = "bluecircle" cx = "60" cy="60" r = "50" fill = "blue" />
      </svg>
   </body>
</html>

ตัวอย่าง

คุณสามารถลองเรียกใช้โค้ดต่อไปนี้เพื่อเรียนรู้วิธีวาดสี่เหลี่ยมผืนผ้าด้วย HTML5 Canvas −

<!DOCTYPE html>
<html>
   <head>
      <title>HTML5 Canvas Tag</title>
   </head>
   <body>
      <canvas id = "newCanvas" width = "200" height = "100" style = "border:1px solid #000000;"></canvas>
      <script>
         var c = document.getElementById('newCanvas');
         var ctx = c.getContext('2d');
         ctx.fillStyle = '#7cce2b';
         ctx.fillRect(0,0,300,100);
      </script>
   </body>
</html>