جستجو برای:
  • خانه
  • مقالات
  • ویدیوهای رایگان
  • رویدادها
  • همکاری با ما
  • تماس با ما
  • info@zerotohero.ir
صفر تا قهرمان
  • خانه
  • مقالات
  • ویدیوهای رایگان
  • رویدادها
  • همکاری با ما
  • تماس با ما
0

ورود و ثبت نام

بلاگ

صفر تا قهرمان > بلاگ > مقالات > طراحی و توسعه‌ی وب > آشنایی با SVG

آشنایی با SVG

فروردین 3, 1396
ارسال شده توسط نوید ابوالقاسم‌زاده
طراحی و توسعه‌ی وب
370 بازدید

در این مقاله قصد داریم به معرفی SVG و طرز استفاده از آن بپردازیم.

SVG که مخفف Scalable Vector Graphics می باشد ، یک زبان XML است که مشابه به XHTML می باشد و برای طراحی های تحت وب از آن استفاده می شود. از نکات مثبت SVG می توان به موارد زیر اشاره کرد :

  1. همانطور که از اسمش پیداست با استفاده از vector پیاده سازی ها انجام می شود، پس تصاویر SVG در صورت بزرگنمایی و تغییر اندازه کیفیت خود را از دست نمی دهند.
  2. تصاویر SVG از انیمیشن ها پشتیبانی می کنند و می توانند به صورت تعاملی (interactive) با کاربر در ارتباط باشند.
  3. SVG یک استاندارد W3C می باشد.
  4. SVG با گرافیک شطرنجی (Raster Graphic) هم همخوانی دارد.
  5. می توان SVG را به آسانی با XSLT و DOM ادغام کرد.
  6. با استفاده از ویرایشگر متن تمام کار ها انجام می شود و به نرم افزارهای سنگین نیاز نیست.
  7. SVG یک استاندارد باز است، که در دسترس عموم مردم است و بر رعایت حقوق مختلفی در استفاده از آن تأکید شده است.

یکی از نکات منفی که باید در نظر داشت، این است که، حجم فایل های SVG می تواند خیلی بیشتر از فرمت های دیگر تصویر باشند. پس باید در استفاده از آن حواسمان به محدودیت حافظه باشد.

ما در این جا قصد داریم که از که از تگ <svg> در HTML استفاده کنیم و طراحی های خود را انجام بدهیم. اما قبل از شروع به سه نکته توجه داشته باشید :

  1. به پشتیبانی مرورگر توجه کنید. در تصویر زیر مرورگرهایی که از SVG پشتیبانی می کنند، آمده است:
    SVG Support in Browsers
  2. چون SVG توسط XML نوشته شده و XML حساس به بزرگی و کوچکی کلمات است، پس باید به بزرگی و کوچکی کلمات دقت کرد.
  3. attribute های SVG همگی باید در داخل ( ” ) قرار گیرند، حتی اگر عدد باشند.

شکل های SVG

مستطیل

از تگ <rect> برای کشیدن مستطیل استفاده می کنیم که syntax آن به صورت زیر است:

<rect
   x="x-axis co-ordinate"
   y="y-axis co-ordinate"
   
   width="length"
   height="length"
   
   rx="length"
   ry="length"
   
   style="style information"
   class="style class" >
</rect>

 

در جدول زیر لیست attribute های آن را می بینید :

ردیف نام attribute و کاربرد آن
۱ x – فاصله از چپ را مشخص می کند (پیشفرض ۰)
۲ y – فاصله از بالا را مشخص می کند (پیشفرض ۰)
۳ width – عرض مستطیل
۴ height – ارتفاع مستطیل
۵ rx – برای گرد کردن گوشه مستطیل
۶ ry – برای گرد کردن گوشه مستطیل
۷ style – برای دادن style به شکل
۸ class – مشخص کردن کلاس مورد نظر

 

در اینجا به چند مثال می پردازیم :

[codepen_embed height=”312″ theme_id=”0″ slug_hash=”rydzpR” default_tab=”html,result” user=”navidagz”]See the Pen Rect1 by Navid Agz (@navidagz) on CodePen.[/codepen_embed]

[codepen_embed height=”308″ theme_id=”0″ slug_hash=”RpMZdg” default_tab=”html,result” user=”navidagz”]See the Pen RpMZdg by Navid Agz (@navidagz) on CodePen.[/codepen_embed]

[codepen_embed height=”311″ theme_id=”0″ slug_hash=”YZaxbZ” default_tab=”html,result” user=”navidagz”]See the Pen YZaxbZ by Navid Agz (@navidagz) on CodePen.[/codepen_embed]

 

(اگر مثال ها بارگذاری نمی شوند، روی دکمه RERUN در گوشه پایین سمت راست آن کلیک کنید)

دایره

از تگ <circle> برای کشیدن دایره استفاده می کنیم که syntax آن به صورت زیر است:

<circle
   cx="x-axis co-ordinate"
   cy="y-axis co-ordinate"
   r="length" >   
</circle>

 

در جدول زیر لیست attribute های آن را می بینید :

ردیف نام attribute و کاربرد آن
۱ cx – فاصله مرکز دایره از چپ(پیشفرض ۰)
۲ cy – فاصله مرکز دایره از بالا(پیشفرض ۰)
۳ r – طول شعاع دایره

 

در اینجا به چند مثال می پردازیم :

[codepen_embed height=”308″ theme_id=”0″ slug_hash=”GWxMqx” default_tab=”html,result” user=”navidagz”]See the Pen Circle1 by Navid Agz (@navidagz) on CodePen.[/codepen_embed]

[codepen_embed height=”308″ theme_id=”0″ slug_hash=”RpMLaj” default_tab=”html,result” user=”navidagz”]See the Pen Circle2 by Navid Agz (@navidagz) on CodePen.[/codepen_embed]

 

بیضی

از تگ <ellipse> برای کشیدن بیضی استفاده می کنیم که syntax آن به صورت زیر است:

<ellipse
   cx="x-axis co-ordinate"
   cy="y-axis co-ordinate"
   
   rx="length" 
   ry="length" >    
</ellipse>

 

در جدول زیر لیست attribute های آن را می بینید :

ردیف نام attribute و کاربرد آن
۱ cx – فاصله مرکز بیضی از چپ(پیشفرض ۰)
۲ cy – فاصله مرکز بیضی از بالا(پیشفرض ۰)
۳ rx – طول شعاع افقی بیضی
۴ ry – طول شعاع عمودی بیضی

 

در اینجا  به چند مثال می پردازیم :

 [codepen_embed height=”310″ theme_id=”0″ slug_hash=”NpYabe” default_tab=”html,result” user=”navidagz”]See the Pen NpYabe by Navid Agz (@navidagz) on CodePen.[/codepen_embed]

[codepen_embed height=”305″ theme_id=”0″ slug_hash=”BWrwpq” default_tab=”html,result” user=”navidagz”]See the Pen BWrwpq by Navid Agz (@navidagz) on CodePen.[/codepen_embed]

 

خط

از تگ <line> برای کشیدن خط استفاده می کنیم که syntax آن به صورت زیر است:

<line
   x1="x-axis co-ordinate"
   y1="y-axis co-ordinate"
   
   x2="x-axis co-ordinate" 
   y2="y-axis co-ordinate" >    
</line>

 

در جدول زیر لیست attribute های آن را می بینید :

ردیف نام attribute و کاربرد آن
۱ x1 – مختصات افقی شروع خط(پیشفرض ۰)
۲ y1 – مختصات عمودی شروع خط(پیشفرض ۰)
۳ x2 – مختصات افقی پایان خط(پیشفرض ۰)
۴ y2 – مختصات عمودی پایان خط(پیشفرض ۰)

 

در اینجا به چند مثال می پردازیم :

[codepen_embed height=”310″ theme_id=”0″ slug_hash=”OpvxjB” default_tab=”html,result” user=”navidagz”]See the Pen Line1 by Navid Agz (@navidagz) on CodePen.[/codepen_embed]

[codepen_embed height=”303″ theme_id=”0″ slug_hash=”peLWdz” default_tab=”html,result” user=”navidagz”]See the Pen Line2 by Navid Agz (@navidagz) on CodePen.[/codepen_embed]

چند ضلعی

از تگ < polygon> برای کشیدن چندضلعی استفاده می کنیم که syntax آن به صورت زیر است:

<polygon
   points="list of points"  > 
</polygon>

 

در جدول زیر لیست attribute های آن را می بینید :

ردیف نام attribute و کاربرد آن
۱ points – لیست نقاطی که باید به هم وصل شوند

 

در اینجا به چند مثال می پردازیم :

 [codepen_embed height=”379″ theme_id=”0″ slug_hash=”gmeGKB” default_tab=”html,result” user=”navidagz”]See the Pen Polygon1 by Navid Agz (@navidagz) on CodePen.[/codepen_embed]

[codepen_embed height=”369″ theme_id=”0″ slug_hash=”jBzGjP” default_tab=”html,result” user=”navidagz”]See the Pen RpMZdg by Navid Agz (@navidagz0) on CodePen.[/codepen_embed]

[codepen_embed height=”274″ theme_id=”0″ slug_hash=”GWxOge” default_tab=”html,result” user=”navidagz”]See the Pen RpMZdg by Navid Agz (@navidagz1) on CodePen.[/codepen_embed]

 

همان طور که می بینید برای نوشتن مقادیر points چندضلعی، دو روش وجود دارد:

  1. نوشتن فاصله از چپ، نوشتن comma ، نوشتن فاصله از بالا و سپس فاصله(space) (مثال اول و دوم)
  2. نوشتن فاصله از چپ، فاصله از بالا، نوشتن comma و سپس فاصله(space) (مثال سوم)

 

خط مرکب

از تگ < polyline> برای کشیدن خطوط مرکب استفاده می کنیم که syntax آن به صورت زیر است:

<polyline
   points="list of points" >  
</polyline>

 

در جدول زیر لیست attribute های آن را می بینید :

ردیف نام attribute و کاربرد آن
۱ points – لیست نقاطی که باید به هم وصل شوند

 

در اینجا به چند مثال می پردازیم :

 [codepen_embed height=”379″ theme_id=”0″ slug_hash=”bqvYwd” default_tab=”html,result” user=”navidagz”]See the Pen RpMZdg by Navid Agz (@navidagz2) on CodePen.[/codepen_embed]

[codepen_embed height=”265″ theme_id=”0″ slug_hash=”rydYWz” default_tab=”html,result” user=”navidagz”]See the Pen RpMZdg by Navid Agz (@navidagz3) on CodePen.[/codepen_embed]

 

مسیر

می توان گفت که مهم ترین شکل در SVG است، که در مقاله ای جدا به آن پرداخته خواهد شد.از تگ < path> برای کشیدن مسیر استفاده می کنیم که syntax آن به صورت زیر است:

<path
   d="data" >  
</path>

 

در جدول زیر لیست attribute های آن را می بینید :

ردیف نام attribute و کاربرد آن
۱ d − path data,usually a set of commands like moveto, lineto etc.

 

ردیف دستور
۱ M – منتقل کردن 
۲ L – ایجاد خط
۳ H – ایجاد خط افقی
۴ V – ایجاد خط عمودی
۵ C – ایجاد منحنی
۶ S – ایجاد خم هموار
۷ Q – ایجاد خم Bezier (مثال دوم)
۸ T – ایجاد خم هموار Bezier
9 A – ایجاد قوس بیضوی
۱۰ Z – انتهای مسیر

 

در اینجا به چند مثال می پردازیم :

 [codepen_embed height=”330″ theme_id=”0″ slug_hash=”rydYwY” default_tab=”html,result” user=”navidagz”]See the Pen RpMZdg by Navid Agz (@navidagz4) on CodePen.[/codepen_embed]

[codepen_embed height=”501″ theme_id=”0″ slug_hash=”NpYwaN” default_tab=”html,result” user=”navidagz”]See the Pen RpMZdg by Navid Agz (@navidagz5) on CodePen.[/codepen_embed]

 

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

اشتراک گذاری:
برچسب ها: GraphicSVG

مطالب زیر را حتما مطالعه کنید

5 ترفند css3 با عناصر کاذب before:: و after::

آشنایی با Protobuf

7 ویژگی Sass به همراه کد

شروع کار با Sass

آشنایی با برنامه نویسی Back-End

همه چیز درباره HTTP 2

قدیمی تر ۷Zip با سی شارپ
جدیدتر آشنایی با مدل OSI

دیدگاهتان را بنویسید لغو پاسخ

برای نوشتن دیدگاه باید وارد بشوید.

جستجو
جستجو برای:
دسته‌ها
  • ANSYS (15)
  • Matlab (14)
  • Photoshop (3)
  • PowerMill (1)
  • Solidworks (11)
  • آکادمیک (55)
  • اخبار (2)
  • اخبار مجموعه (3)
  • امنیت (26)
  • اندروید (108)
  • اینترنت اشیا (9)
  • بازی سازی (5)
  • پایتون (62)
  • پایگاه داده‌ها (10)
  • جاوا (84)
  • جاوا اسکریپت (41)
  • دارت (1)
  • دسته‌بندی نشده (15)
  • سی شارپ (15)
  • شبکه (27)
  • طراحی و توسعه‌ی وب (103)
  • علم داده‌ها (15)
  • گوناگون (17)
  • لینوکس (21)
  • مدیریت (3)
  • مدیریت پروژه (22)
  • مقالات (39)
  • نرم افزارهای مهندسی (41)
  • نظریه بازی‌ها (3)
  • هنرهای دیجیتال (65)
  • هوش مصنوعی و یادگیری ماشین (15)
  • واقعیت ترکیبی (1)
  • واقعیت مجازی (5)
  • ویدیو (34)
درباره صفرتاقهرمان

مجموعه آموزشی صفرتاقهرمان مستقر در مرکز رشد دانشگاه مازندران، از سال 1395 در کنار شماست و برای مخاطبین عزیز تولید محتوای آموزشی می کند.

تماس
  • بابلسر - خیابان پاسداران - سازمان مرکزی دانشگاه مازندران
  • 01132393860
  • info@zerotohero.ir
دسترسی سریع
  • خانه
  • مقالات
  • ویدیوهای رایگان
  • رویدادها
  • همکاری با ما
  • تماس با ما
logo-samandehi
کلیه حقوق این وب سایت متعلق به شرکت رامان می باشد.

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت