نگاره‌سازی برداری مقیاس‌پذیر (به انگلیسی: Scalable Vector Graphics) یا اس‌وی‌جی (به انگلیسی: SVG) یک قالب تصویر برداری مبتنی بر اکس‌ام‌ال برای گرافیک دوبعدی است که توانایی تعامل و پویانمایی را نیز دارد. مشخصات اس‌وی‌جی یک استاندارد باز است که توسط ائتلاف وب جهان‌گستر (W3C) از سال ۱۹۹۹ تولید شده‌است.

اطلاعات اجمالی پسوند(های) نام پرونده, نوع رسانهٔ اینترنتی ...
اس‌وی‌جی
Thumb
پسوند(های) نام پرونده
.svg, .svgz
نوع رسانهٔ اینترنتی
image/svg+xml[1][2]
شناسانه نوع یکسان
public.svg-image
توسعه‌دهندهW3C
ارائهٔ اولیه۴ سپتامبر ۲۰۰۱ (۲۳ سال پیش) (۲۰۰۱-04}})
آخرین ویرایش
1.1 (ویرایش دوم)
(۱۶ اوت ۲۰۱۱؛ ۱۳ سال پیش (۲۰۱۱-16}}))
گونهگرافیک برداری
نیاکانXML
استاندارد بین‌المللیW3C SVG
وبگاه
بستن

تصاویر اس‌وی‌جی در قالب گرافیک برداری تعریف می‌شوند و در فایل‌های متنی اکس‌ام‌ال ذخیره می‌شوند. از این رو تصاویر اس‌وی‌جی را بدون تأثیر روی کیفیتش می‌توان مقیاس‌دهی اندازه‌ای نمود، همچنین فایل‌های اس‌وی‌جی قابلیت جستجو، نمایه‌سازی، اسکریپت‌دهی ... و فشرده‌سازی را دارند. فایل‌های متنی اکس‌ام‌ال را می‌توان توسط ویرایشگر متنی یا ویرایشگر گرافیک برداری ایجاد و ویرایش نمود، همچنین بیشتر مرورگرهای وب رایج کنونی آن‌ها را پردازه (رندر) می‌دهند.

بررسی اجمالی

اس‌وی‌جی از سال ۱۹۹۹ در ائتلاف وب جهان‌گستر (W3C) در حال گسترش بوده‌است، پس از آنکه شش پیشنهاده رقیب برای زبان گرافیک برداری در سال ۱۹۹۸ به ائتلاف ارسال شد.[3]

کارگروه ابتدایی اس‌وی‌جی تصمیمی برای ایجاد هیچ‌کدام از موارد ارسالی تجاری را نداشت، بلکه می‌خواست یک زبان نشان‌گذاری جدید ایجاد کند که از همه الهام می‌گرفت ولی مبتنی بر هیچ‌کدام نبود.[3]

در اس‌وی‌جی سه نوع شیء گرافیکی وجود دارد: اشکال گرافیک برداری (مثل مسیر شامل خط مستقیم، و منحنی)، تصاویر بیت‌مپ و متن. اشیای گرافیکی را می‌توان به اشیای از قبل پرداز شده (رندر شده) گروه‌بندی، استایل‌دهی، تبدیل و ترکیب کرد. مجموعه ویژگی شامل تبدیل تودرتو، مسیر الصاقی، ماسک آلفا، تاثیرات فیلتری، و اشیای قالبی است. نقاشی اس‌وی‌جی می‌تواند تعاملی باشد، همچنین می‌تواند شامل پویانمایی باشد، که در عناصر اس‌وی‌جی اکس‌ام‌ال تعریف شده‌است، یا اینکه از طریق اسکریپت‌دهی که به مدل شیء سند (DOM) برای اس‌وی‌جی دسترسی دارد. اس‌وی‌جی از سی‌اس‌اس برای استایل‌دهی و از جاوااسکریپت برای اسکریپت‌دهی استفاده می‌کند. متن، که شامل بین‌المللی‌سازی و محلی‌سازی هم هست، در داخل متن ساده در SVG DOM پدیدار می‌شود، که این موضوع دسترس‌پذیری گرافیک اس‌وی‌جی را افزایش می‌دهد.[4]

در سال ۲۰۱۱ مشخصات SVG به نسخه ۱٫۱ روزآمدسازی شد. دو نوع «رخ‌نمای اس‌وی‌جی موبایل» وجود دارد، یکی اس‌وی‌جی تاینی (به انگلیسی: SVG Tiny) و یکی اس‌وی‌جی بیسیک (به انگلیسی: SVG Basic)، که برای دستگاه‌های همراه ساخته شده‌اند که توانایی محاسباتی و نمایشی کمتری دارند.[5] در ۱۵ سپتامبر ۲۰۱۶ مشخصات اس‌وی‌جی ۲ تبدیل به یک پیشنهاده کاندید W3C شد. مشخصات اس‌وی‌جی ۲ ویژگی‌های جدید زیادی، علاوه بر موارد موجود در اس‌وی‌جی ۱,۱ و اس‌وی‌جی تاینی ۱,۲، را شامل شده‌است.[6]

چاپ

اگرچه مشخصات اس‌وی‌جی در درجه اول روی زبان نشان‌گذاری گرافیک برداری تمرکز دارد، طراحی آن شامل توانمندی‌های اساسی برای یک زبان توصیف صفحه مثل موارد موجود در ادوبی پی‌دی‌اف است. در این زبان قابلیت‌هایی برای گرافیک غنی وجود دارد، و برای اهداف استایل‌دهی با CSS سازگاری دارد. اس‌وی‌جی شامل اطلاعات مورد نیاز برای قرار دادن هر گلیف و تصویر در یک محل انتخاب شده روی یک صفحه پرینتی است.[7]

اسکریپت‌دهی و پویانمایی

نقاشی اس‌وی‌جی می‌تواند پویا و تعاملی باشد. اصلاحات مبتنی بر زمان برای عناصر را می‌توان به زبان SMIL توصیف کرد، روش دیگر توصیف، برنامه‌نویسی در یک زبان اسکریپتی (مثل جاوااسکریپت) است. ائتلاف W3C صراحتاً زبان SMIL را به عنوان استاندارد پویانمایی در اس‌وی‌جی پیشنهاد کرده‌است.[8]

یک مجموعه غنی از رسیدگی به رویداد مثل "onmouseover" و "onclick" را می‌توان به هر شیء گرافیکی اس‌وی‌جی انتساب داد تا به آن‌ها وقعه و عمل اعمال کنیم.

فشرده‌سازی

تصاویر اس‌وی‌جی، که نوعی اکس‌ام‌ال هستند، شامل تعداد زیادی قطعه متن تکراری هستند، از این رو برای الگوریتم‌های فشرده‌سازی داده بدون‌اتلاف بسیار مناسب اند. وقتی که یک تصویر اس‌وی‌جی توسط الگوریتم gzip فشرده شود، به آن یک تصویر SVGZ گفته می‌شود که از پسوند نام فایل متناظر .svgz استفاده می‌کند. نمایشگرهای سازگار با SVG 1.1 تصاویر فشرده‌سازی شده را نمایش می‌دهند.[9] یک فایل SVGZ معمولاً ۲۰ تا ۵۰ درصد حجم کمتری از اندازه اصلی دارد.[10] ائتلاف W3C چندین فایل SVGZ را برای آزمایش سازگاری ارائه کرده‌است.[11]

Thumb
اطلاعات اجمالی استانداردهای وب ...
بستن

اس‌وی‌جی زبانی‌ست از نوع اکس‌ام‌ال که به منظور ایجاد، انتشار، و کار با گرافیک دوبعدی و نیز کاربردهای گرافیکی بر روی اینترنت ایجاد گردیده‌است. به عنوان استانداردی جدید از سوی کنسرسیوم وب جهان‌شمول (W3C)، اس‌وی‌جی باعث کوچک‌تر گردیدن، سریع‌تر بودن، و تعاملی‌تر (interactive) شدن اسناد دربردارندهٔ گرافیک و انیمیشن بر روی وب می‌گردد. نرم‌افزارهای گوناگونی از جمله اینک‌اسکیپ برای ساختن تصاویر اس‌وی‌جی به کار می‌روند.

تجربهٔ اوّل

در حال حاضر، اکثر مرورگرهای امروزی (همچنین اینترنت اکسپلورر ۱۰ و ۱۱) از اس‌وی‌جی پشتیبانی می‌کنند. از آنجا که برخی از مرورگرهای وب قدیمی (مثل IE نسخه ۶ و ۷) توانایی ارائهٔ (rendering) اس‌وی‌جی را ندارند، پیش از همه‌چیز، باید به تهیه و نصب یک نرم‌افزار ویژه موسوم به اس‌وی‌جی‌نگر (SVG viewer) اقدام نمائیم. پس از آن می‌توانیم هریک از مثال‌های ساده و ابتدائی زیر را در فایل‌های جداگانه‌ای که به اس‌وی‌جی. ختم می‌شوند ذخیره نموده و مورد آزمایش قرار دهیم. اگر از مرورگرهای امروزی استفاده می‌کند (کروم، فایر فاکس و …) نیازی با اینکار نیست.

مثال ۱: ترسیم دایره‌ای به مرکز (۲۰۰ ،۶۰۰) (با واحد پیکسل) و با شعاع ۳ سانتیمتر

<svg>
<circle cx="600" cy="200" r="3cm"/>
</svg>

مثال ۲: ترسیم پاره خطی با نقطهٔ شروع (۵۰ ،۷۰)، و نقطهٔ انتهایی (۴۰۰ ،۲۰۰) (با واحد پیکسل)، به رنگ قرمز، و دارای ضخامت ۸ پیکسل

<svg>
<line x1="70" y1="50" x2="300" y2="400" style="stroke: red; stroke-width: 8"/>
</svg>

مثال ۳: در ابتدا، یک مستطیل با رأس گوشهٔ بالایی سمت چپ (۶۰ ،۸۰)، دارای عرض ۴۰۰ و قاعدهٔ ۶۰ رسم می‌شود، و سپس، پهنای مستطیل در مدت زمانی ۱۵ ثانیه (زمان اسمی و نه واقعی) از ۴۰۰ به ۲۰ به صورت انیمیشن کاهش می‌یابد. (همهٔ واحدها پیکسل است)

<svg>
<rect x="80" y="60" width="400" height="60" stroke="black" fill="none">
<animate attributeName="width" attributeType="XML"
from="400" to="20"
begin="0s" dur="15s"
fill="freeze"/>
</rect>
</svg>

مثال ۴: یک انیمیشن واقعی‌تر

<svg>
<rect x="210" y="210" width="20" height="20" style="stroke: black; fill: red;">

<animate attributeName="width" attributeType="XML"
begin="0s" dur="1s"
from="20" to="120"
fill="freeze"/>

<animate attributeName="height" attributeType="XML"
begin="0s" dur="1.0s"
from="20" to="120"
fill="freeze"/>

</rect>

<circle cx="270" cy="270" r="60"
style="fill: green; stroke: black;">

<animate attributeName="r" attributeType="XML"
begin="0.7s" dur="0.8s" from="20" to="50" fill="freeze"/>
</circle>
</svg>

نمونه‌های مختلف

خودآموزها

اس‌وی‌جی در وب

در حال حاضر وب سایت‌های بسیاری از جمله ویکی‌پدیا از اس‌وی‌جی و Raster برای تصاویر استفاده می‌کنند.

گوگل در تاریخ ۳۱ اوت ۲۰۱۰ اعلام کرد که از این پس موتور جستجو گوگل می‌تواند تصاویر اس‌وی‌جی را در قالب فایل یا به شکل جاسازی شده در اچ‌تی‌ام‌ال ایندکس کند، همچنین در تاریخ ۸ دسامبر ۲۰۱۰ گوگل ایندکس شدن تصاویر اس‌وی‌جی را در جستجو تصاویر گوگل میسر ساخت.

پشتیبانی مرورگرها

Konqueror در نسخه ۳٫۲ منتشر شده در فوریه ۲۰۰۴ اولین مرورگری بود که از اس‌وی‌جی پشتیبانی کرد. در سال ۲۰۱۱ تمامی مرورگرهای تحت دسکتاپ با ویژگی‌های کم قادر به پشتیبانی از اس‌وی‌جی بودند. برخی از نسخه‌های قبلی فایرفاکس (نسخه‌های ۱٫۵ تا ۳٫۶) قادر به نمایش برخی از ویژگی‌های اس‌وی‌جی بود البته موضوع تنها به کمک برچسب‌های <object> و <iframe> امکان‌پذیر بود.

در جدول زیر وضعیت پشتیبانی مرورگرها آمده‌است:

اطلاعات بیشتر مرورگر, نسخه‌های قابل پشتیبانی ...
وضعیت پشتیبانی مرورگرها از اس‌وی‌جی
مرورگر نسخه‌های قابل پشتیبانی نسخه‌های غیرقابل پشتیبانی
اینترنت اکسپلورر(IE) ۹٬۱۰٬۱۱ ۶٬۷٬۸
اج(Edge) از نسخه (۱۲) به بعد
فایرفاکس(Firefox) از نسخه (۳) به بعد
گوگل کروم(Chrome) از نسخه (۴) به بعد
سافاری(Safari) از نسخه (۳٫۲) به بعد
اپرا(Opera) از نسخه (۱۰٫۱) به بعد
بستن

جستارهای وابسته

منابع

پیوند به بیرون

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.