HTML 5 Canvas vs. SVG

Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的。

SVG

SVG 是一种使用 XML 描述 2D 图形的语言。

SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。

在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

Canvas

Canvas ຈະຈັດຕັ້ງ 2D ພາບວິທະຍານໃນ JavaScript

Canvas ຈະຈັດຕັ້ງສະພາບຫຼັງຈາກຄັນຈັດຕັ້ງ

ໃນ canvas, ບໍ່ມີການສົນທະນາສະພາບທີ່ຖືກຈັດຕັ້ງຈາກສາຍວຽງ. ຖ້າຕຳແຫຼງຂອງມັນປ່ຽນແປງ, ການຈັດຕັ້ງທັງໝົດຈະຕ້ອງຖືກກະຈາຍໃໝ່, ລວມທັງບັນດາບັນດາວັດຖຸທີ່ທີ່ຈະປົກກະຕິຈັບກວມພາບ

ການປຽບທຽບ canvas ແລະ SVG

ການບັນທຶກຂອງ canvas ແລະ SVG ທີ່ຕ່າງກັນຫຼາຍ

Canvas

  • ອອກຈາກຄວາມຄືບໜ້າ
  • ບໍ່ສະໜັບສະໜຸນວິທະຍານເຫດການ
  • ຄວາມສາມາດກະຈາຍພາສາຫຼາຍລາຍ
  • ສາມາດບັນທຶກພາບຈຳດັງທີ່ .png ຫຼື .jpg
  • ມັກສຳລັບເກມທີ່ຕ້ອງກະຈາຍພາບຫຼາຍ (ຈະມີບັນດາບັນດາວັດຖຸຈະຖືກກະຈາຍຫຼາຍ)

SVG

  • ບໍ່ອອກຈາກຄວາມຄືບໜ້າ
  • ສະໜັບສະໜຸນວິທະຍານເຫດການ
  • ມັກສຳລັບການໃຊ້ໃນການສະແດງພາບຈະຫຼວງ (ເປັນຕົວຢ່າງ Google Maps)
  • ຄວາມສາມາດຫຼາຍກວ່າຈະຫຼຸດຄວາມໄວຂອງການກະຈາຍ (ການໃຊ້ DOM ຜະຫຼິດບໍ່ວ່າໄວ)
  • ບໍ່ພຽງພໍສຳລັບການນຳໃຊ້ຄືການຫຼິ້ນເກມ