صيغة الملف

SVG - رسومات متجهية قابلة للتوسع

يصف SVG الصورة على شكل أشكال ونصوص بدلاً من وحدات البكسل، لذا يظل حادًا بأي حجم. وهو بتنسيق XML، ما يعني أنه يمكن قراءته وأنه يستطيع حمل الكثير من بيانات التعريف.

.svg

SVG اختصار لـ Scalable Vector Graphics. وهو المعيار المفتوح من W3C للصور الموصوفة على أنها تعليمات وليست بكسلات: ارسم دائرة هنا، اتبع هذا المنحنى، املأ هذا الشكل بهذا اللون، اعرض هذه الكلمة بهذا الخط. وبما أن الصورة عبارة عن مجموعة من الأوامر، يمكن رسمها بأي حجم دون أن تصبح مشوشة أو متكسرة، ولهذا تُستخدم SVG كثيرًا في الشعارات والأيقونات والخرائط والمخططات.

كيفية تخزين SVG للصورة

ملف SVG هو XML: نص قابل للقراءة يمكنك فتحه في أي محرر. يحتوي عنصر <path> على سلسلة مضغوطة من أوامر الرسم، و<rect> و<circle> و<polygon> تقوم بالمهام الواضحة، و<text> يحتوي على نص حقيقي قابل للتحديد، و<g> يجمع العناصر بحيث يمكن نقلها أو تنسيقها معًا. تحدد الخاصية viewBox نظام الإحداثيات، وهو ما يجعل الرسم بالكامل يتدرج بشكل سلس.

لأنه نص، يمكن ضغط SVG بشكل فعّال جدًا؛ فملف SVG مضغوط باستخدام gzip (يُعطى أحيانًا الامتداد .svgz) يكون غالبًا جزءًا بسيطًا من حجمه الأصلي. وكونه نصًا يعني أيضًا أنه يمكن تنسيق SVG باستخدام CSS وتحريكه وبرمجته. يتعامل المتصفح معه باعتباره جزءًا من المستند وليس كصورة معتمة.

هذه الإمكانية الأخيرة لها جانب أمني مهم: يمكن أن يحتوي SVG على عنصر <script>. في أي مكان يُسمح فيه برفع ملفات SVG من قبل المستخدمين، يجب تنقيتها أو تقديمها بطريقة تمنع التنفيذ، ولهذا ترفض بعض المواقع SVG رغم قبولها لكل صيغ الصور النقطية.

SVG حاوية غير مناسبة للصور الفوتوغرافية. يمكنك تضمين صورة نقطية داخلها، لكن حينها تكون لديك صورة بكسلات ملفوفة داخل XML بدون أي فائدة من قابلية التدرج.

ما هي البيانات الوصفية التي يحملها SVG

يحتوي SVG على عنصر مخصص <metadata>، وبما أن المعيار لا يحدد ما يجب أن يتضمنه، تضيف المحررات الكثير هناك. غالبًا ما يحتوي على RDF باستخدام مصطلحات Dublin Core: dc:title وdc:creator وdc:date وdc:description وdc:rights ومعرّف ترخيص (URI). كما يمكن أن يوجد عنصرا <title> و<desc> في الجذر أو في أي شكل فردي، حيث يعملان أيضًا كنص إتاحة لقارئات الشاشة.

ثم هناك بيانات إدارة المحرر نفسه، وعادة ما تكون هي الجزء الأكبر. يكتب Inkscape نطاق أسماء كاملًا خاصًا به: أبعاد نافذة المستند، مستوى التكبير، موضع المؤشر عند آخر حفظ، خطوط الإرشاد، إعدادات الشبكة، أسماء الطبقات وحالتها المرئية، وسلسلة inkscape:version. يضمّن Illustrator حزمة XMP تحتوي على معرّفات المستند الخاصة به وتاريخه. ولا يُستخدم أيٌّ منها لرسم أي شيء.

تنتج عن ذلك نقطتان عمليتان. بيانات المحرر يمكن أن تشكل بسهولة معظم حجم الملف، لذا تمرير ملف SVG عبر أداة تحسين قبل النشر غالبًا ما يقلل حجمه إلى النصف. وأسماء الطبقات هي نص كتبته بنفسك: <g inkscape:label="client logo v3 REJECTED"> غير مرئي في الصورة لكنه ظاهر تمامًا في الملف.

متى يُستخدَم SVG

استخدم SVG لأي شيء مرسوم وليس مُصوَّرًا: الشعارات، الأيقونات، المخططات، الرسوم البيانية، الرسوم التوضيحية، الخرائط. إنه الاختيار المناسب للويب، حيث يخدم ملف واحد كل كثافات الشاشات، وللطباعة، حيث يمكن تغيير حجمه لأي قياس.

استخدم PNG أو JPG للصور الفوتوغرافية ولأي شيء ذي درجات لونية متصلة. صدّر أيضًا نسخة نقطية مسطحة عندما تحتاج إلى صورة تُفتح في برامج قديمة جدًا أو محدودة لا تدعم SVG، وقم بإزالة بيانات تعريف المحرر قبل النشر، لتقليل حجم الملف ولأن أسماء الطبقات ليست دائمًا مخصصة للجمهور.