+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 پاسخ 190 بازدید
سوال شده 4 سال قبل در برنامه نویسی توسط worldking1381 (0 امتیاز)
+1 امتیاز
2 پاسخ 532 بازدید
0 امتیاز
1 پاسخ 319 بازدید
+1 امتیاز
1 پاسخ 404 بازدید
+1 امتیاز
1 پاسخ 2.0هزار بازدید
+1 امتیاز
3 پاسخ 1.2هزار بازدید
0 امتیاز
0 پاسخ 248 بازدید
+1 امتیاز
0 پاسخ 321 بازدید
...