+1 امتیاز
قبل در برنامه نویسی توسط (7.2هزار امتیاز)
برای انجام کارهای گرافیکی در یک برنامه تحت وب (مانند رسم انواع نمودار) هم از svg و هم از canvas می توان استفاده نمود.

این دو از لحاظ ساختار چه تفاوتهایی دارند و هر کدام برای کدام دسته از کارها مناسب ترند؟

1 پاسخ

+1 امتیاز
قبل توسط (7.2هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

تفاوتهای عمده این دو API عبارتند از:

  • SVG مقیاس پذیر است در حالی که canvas به صورت پیکسل به پیکسل نسبت به رسم گرافیک اقدام می کند.
  • SVG در فایل قابلیت ذخیره سازی دارد (چون به صورت تگ اقدام به رسم گرافیک می شود) در حالی که canvas به وسیله Java Script اقدام به رسم گرافیک می کند، و از آنجایی که تک تک اجزای SVG در DOM موجود است ویرایش آن نیز به راحتی ممکن است.

در کل می توان گفت تنها مزیت canvas  سهولت در استفاده می باشد.

SVG علاوه بر موارد مطرح شده به علت خوانایی بالای xml ، نگهداری و توسعه اش راحت تر است در حالی که تولید گرافیک توسط کانواس به دانش برنامه نویسی نیاز دارد (که طراحان صفحات وب معمولا این تخصص را ندارند)

با توجه به اینکه SVG در DOM قرار می گیرد، از سرعت رندر شدن پایین تری برخوردار است که عیب آن می باشد، لذا استفاده از آن برای ایجاد گرافیک های دینامیک (مانند بازی تحت وب) مناسب نیست.

سوالات مشابه

0 امتیاز
0 پاسخ 296 بازدید
سوال شده 4 سال قبل در برنامه نویسی توسط worldking1381 (0 امتیاز)
+1 امتیاز
2 پاسخ 799 بازدید
0 امتیاز
1 پاسخ 409 بازدید
+1 امتیاز
1 پاسخ 513 بازدید
+1 امتیاز
1 پاسخ 2.2هزار بازدید
+1 امتیاز
3 پاسخ 1.3هزار بازدید
0 امتیاز
0 پاسخ 355 بازدید
+1 امتیاز
0 پاسخ 482 بازدید
...