هل يُرفع ملف SVG إلى أي مكان؟
لا. يقرأ متصفحك أنت الملف على جهازك أنت، ويرسمه على لوحة بالمحرّك نفسه الذي يعرض كل صورة أخرى تراها، ثم يعيده إليك تنزيلاً. لا تملك هذه الأداة أي وظيفة شبكية على الإطلاق — فهي لا تجلب شيئاً ولا ترسل شيئاً — وContent-Security-Policy الخاصة بالصفحة تُسمّي كل عنوان يجوز لها الاتصال به، وليس واحد منها لنا.
بأي حجم ينبغي أن أحوِّل ملف SVG؟
بأي حجم يطلبه الشيء الذي سيقرؤه، مضروباً في نسبة بكسلات الجهاز للشاشة التي سيُرى عليها. فشعارٌ يشغل 200 بكسل CSS يحتاج إلى 400 لحاسوب محمول عالي الدقة و600 لهاتف حديث، وهو ما تكون نسختا @2x و @3x هنا. أما لأيقونة تطبيق أو لصفحة في متجر، فالمتجر يُسمّي رقماً بعينه وهو الرقم. وحين لا يخبرك شيء، فـ 1024 على أطول ضلع قيمة افتراضية مفيدة: كبيرة بما يكفي لأي استعمال تقريباً وصغيرة بما يكفي لأن تُرسَل بالبريد.
هل يُفقد التكبير شيئاً من الجودة؟
لا، وهذا هو الموضع الوحيد الذي يكون فيه هذا الجواب «لا» بصدق. فالرسم المتجهي تعليمات لا بكسلات، فيرسم المتصفح المنحنيات من جديد بأي حجم يُطلَب. و4000 بكسل من أيقونة بحجم 24 بكسلاً حادٌّ تماماً كما كان 24. والذي لا تستطيعه هو العكس: فمتى صارت PNG صارت بكسلات كغيرها، فحوِّلها بالحجم الذي تحتاجه بدل أن تغيّر حجم الناتج بعد ذلك.
ملف SVG عندي بلا عرض ولا ارتفاع. فأي حجم أحصل عليه؟
الـ viewBox، إن وُجد — فعرضه وارتفاعه وحدات مستخدِم لا بكسلات، لكنهما الرقمان الوحيدان في الملف والمتصفح يعاملهما على أنهما الحجم الطبيعي للرسم. وإن لم يكن ثمّة viewBox أيضاً، قالت الصفحة مفترَض بجانب الصف واستعملت 300 × 150، وهو ما كان وسم <img> سيرسمه به. وفي الحالين تستطيع أن تُسمّي الحجم الذي تريده فيُرسَم الملف به.
لماذا يبدو النصّ مختلفاً في ملف PNG؟
لأن الخطّ ليس داخل ملف SVG. فملف SVG الذي يرسم نصّاً يُسمّي خطّاً ويترك للجهاز أن يجده، والملف الذي يجلب واحداً من Google Fonts بـ @import لا يحصل على شيء هنا: فملف SVG المرسوم عبر وسم <img> لا يُسمح له بجلب أي شيء، وهي القاعدة نفسها التي تمنعه من الاتصال بأحد ومعه ملفك. والعلاج هو الذي يعرفه كل مصمّم أصلاً — حوِّل النصّ إلى مسارات في برنامج الرسم قبل التصدير. فيصير حينئذ هندسةً، ويبدو كما هو في كل مكان.
هل يستطيع تحويل عدة ملفات دفعة واحدة؟
نعم. يُعرَض كل ملف SVG في القائمة بالإعدادات نفسها وتنزل الدفعة في ملف zip واحد. والمضاعف — «4× الحجم الذي يطلبه الملف» — هو الإعداد الصائب لدفعة عادةً، لأن كل رسم يُقاس من حجمه هو بدل أن تُفرَض عليها كلها البكسلات نفسها. وانقر أي صف لتضع ذلك الملف في المعاينة.
هل ثمّة حدّ للحجم؟
حدُّ المتصفح لا حدُّنا. فاللوحة تستسلم في مكان ما بعد 16,384 بكسلاً على الضلع، وSafari على iPhone أو iPad يقف عند نحو 16.7 ميغابكسل من المساحة — أي 4096 × 4096. وفوق ذلك تحذّرك الصفحة بدل أن تعيد إليك صورة فارغة، وهو ما يفعله المتصفح حين ينفد ما عنده: تعيد toBlob لا شيء البتة، دون خطأ يفسّر نفسه. وبعد 100 ميغابكسل ترفض الأداة، لأن ذلك 400 MB من اللوحة قبل أن يُرمَّز بايت واحد.
ماذا يحدث للشفافية؟
تبقى، في PNG وفي WebP. أما JPEG فليس فيها قناة ألفا البتة، فيُطلى لون خلف الصورة كلها سواء طلبته أم لا — فبدونه يخرج كل شفاف أسود، وهو ما يبدو خللاً لا يبدو JPEG. واختيار لون خلفية مع PNG أمر عادي تماماً أن تريده كذلك: فهو يُسطِّح الرسم على ذلك اللون بدل أن يترك ثقباً.
هل يستطيع قراءة ملف SVG فيه نصّ برمجي أو صورة خارجية؟
يستطيع قراءته، وسيرسم بالضبط الأجزاء التي يقبل المتصفح رسمها. فملف SVG المحمَّل عبر وسم <img> في الوضع الساكن الآمن: فلا تعمل النصوص البرمجية، ولا تُجلَب المراجع الخارجية، ولا تعمل الحركة — والإطار الأول هو ما تحصل عليه. فملفٌ فيه وسم <image> بعيد يخرج وذلك الجزء ناقص منه. وذلك رفضٌ من المتصفح نيابةً عنك، وهو سبب قدرة هذه الصفحة على فتح ملف لم ترَه قط بأمان.
ما الفرق بين هذا وأداة تغيير حجم الصور؟
المصدر. فأداة تغيير حجم الصور تبدأ من بكسلات — ملف JPEG أو PNG — فتكبيرها لا بدّ أن يخترع تفاصيل لم تكن هناك قط. أما هذه فتبدأ من رسم، فلا شيء يُخترَع ولا حدّ أعلى يستحق القلق. فإن كان الذي عندك ملف SVG فهذه هي التي تعطيك نتيجة حادّة؛ وإن كان الذي عندك صورة فوتوغرافية فتلك هي.
هل هو مجاني، وهل أحتاج إلى حساب؟
هو مجاني، ولا حساب ولا تسجيل دخول ولا فترة تجريبية ولا علامة مائية. ولا حدّ لعدد الملفات ولا لأحجامها كذلك، إذ لا خادم يدفع ثمنها — فالعمل يجري على جهازك أنت. ويحمل الموقع إعلانات، وهي ما يدفع تكاليفه؛ ولا يُعطى المعلنون شيئاً عن ملفاتك.
هل يعمل دون اتصال؟
نعم. حمِّل الصفحة مرة، ثم اقطع اتصالك بالإنترنت وستظل تعمل. وهذه أيضاً أبسط طريقة لإثبات أنه لا يُرفع شيء: فأداةٌ ترسل أعمالك الفنية بعيداً لتُعرَض كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.