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 �ະບາຍສຳລັບການຫຼິ້ນວຽກການຫຼິ້ນທີ່ມີຮູບພາບຫຼາຍ ແລະຈະຖືກພັດທະນາຫຼາຍ

SVG

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