محوّل SVG إلى PNG
حوّل ملف SVG إلى PNG أو JPG أو WebP بمقاس البكسل الذي تختاره، دون رفع أيّ ملف إلى أيّ مكان، وشاهد بالضبط ما الذي غيّره كلّ تحويل.
لا يُرفع أيّ ملف
يجري كلّ تحويل داخل تبويب المتصفح هذا، على جهازك أنت. لا يُرسل أيّ ملف إلى هذا الموقع ولا إلى أيّ جهة أخرى — فليس هنا خادم يُرسل إليه أصلًا — لذا تبقى الصورة السرّية سرّية، ويمكنك فتح تبويب الشبكة في المتصفح أثناء التحويل والتحقّق من ذلك بنفسك.
صيغة WebP هنا مع فقد دائمًا
لصيغة WebP وضع بلا فقد، لكن لوحة الرسم في المتصفح لا تستطيع كتابته — لا توجد طريقة لطلبه منها. كل ملف WebP يُنتَج هنا هو ترميز مع فقد، عند أعلى مِقبَض الجودة تمامًا كما دونه، فالنتيجة ليست أبدًا نسخة بلا فقد ممّا دخل.
قد تتغيّر الألوان
تُعاد رسم الصورة هنا وتُكتب في مساحة sRGB العادية، دون أي ملف تعريف ألوان مضمَّن. الصورة الملتقطة في مساحة أوسع، مثل Display P3 في هاتف حديث أو Adobe RGB، تبدو كما هي في معظم الأماكن، لكن ألوانها الأكثر تشبُّعًا قد تخرج أبهت قليلًا.
المحوّلات الأخرى
الصورة الفوتوغرافية لم تكن رسمة قطّ، فلا شيء يحتاج إلى تحويل إلى بكسلات، والسؤال الوحيد هو بأيّ صيغة بكسلات تحفظها. تلك الصفحة تفتح على PNG وتتناول ما الذي يغيّره الانتقال بين JPG وPNG.
تحويل JPG إلى PNGالرسمة بعد تحويلها إلى بكسلات ألوان مسطّحة وحوافّ حادّة، وهذا بالضبط ما يخزّنه WebP ببايتات أقلّ بكثير من PNG. تلك الصفحة تفتح وقد اختير فيها WebP، وتحوّل ملف WebP في الاتجاه المعاكس أيضًا.
محوّل WebP
ما هو ملف SVG، ولماذا يمضي التحويل إلى بكسلات في اتّجاه واحد
ملف SVG ليس صورة. هو وصف لصورة — قائمة أشكال ومسارات وألوان ونصوص، لكلّ واحد منها إحداثيّاته، مكتوبة في ملف نصي يقرؤه شيء آخر فيرسم منه. أمّا ملف JPG أو PNG فهو العكس: شبكة بكسلات حُسمت مرّة واحدة يوم كُتب الملف. وهذا الفرق وحده يقف خلف كلّ ما في هذه الصفحة، بما في ذلك السؤال الواحد الذي يلزم هذا المحوّل أن يسألك إيّاه ولا يسأله المحوّلان الآخران قطّ.
- هو نص تستطيع قراءته. افتح ملف SVG في أيّ محرّر نصوص تجد الأشكال مكتوبة أمامك، وبذلك تستطيع أن تتحقّق بنفسك من الحجم الذي يعلنه الملف ومن الأشياء التي يشير إليها.
- وليست له دقّة أصلًا. فالملف نفسه أيقونة حادّة بحجم النقطة، وهو كذلك ملصق حادّ على جدار، لأنّ الرسم يُحسب من جديد كلّ مرّة على يد ما يعرضه ولا يُخزَّن في مكان.
- وما يجيده هو الرسم المسطّح — الشعارات والأيقونات والمخطّطات والرسوم البيانيّة والخرائط، وكلّ ما رُسم رسمًا لا ما التُقط تصويرًا. وما يعجز عنه عجزًا تامًّا هو الصورة الفوتوغرافيّة، إذ ليس فيها أشكال تُوصف وكانت ستحتاج سطرًا في الملف لكلّ بكسل.
- وتحويله إلى بكسلات هو ما تفعله هذه الصفحة، والسبب في الغالب الأعمّ مكان لا يقبل هذه الصيغة: نموذج رفع، أو محرّر صور قديم، أو قالب مستند أو شريحة، أو معاينة في شبكة اجتماعيّة، أو بريد إلكترونيّ، أو خدمة طباعة.
وتحويله إلى PNG يثبّت الرسم في بكسلات عند حجم واحد مختار، وذلك باب لا ينفتح إلّا في جهة واحدة. فالأشكال لا تُخزَّن في النتيجة وليس هنا إعداد يُبقيها، فتكبير ملف PNG بعد ذلك يكبّر بكسلاته ولا يعيد رسم شيء؛ وهذه الصفحة لا تكتب صيغة متّجهة البتّة، لأنّ إعادة صورة إلى أشكال مسألة أخرى لها أجوبة أخرى وليست عكس هذه. فاحتفظ بملف SVG. فالذي تنزّله هنا نسخة صُنعت لغرض واحد وحجم واحد، والسبيل إلى حجم ثانٍ أن تحوّل الأصل من جديد لا أن تغيّر حجم ما بين يديك.
من أين جاء الحجم الذي في الحقلين
لمّا لم تكن للمتّجه بكسلات خاصّة به، لزم أن يحسم شيء ما بكم بكسل يخرج، وهذه الصفحة تبدأ بقراءة ما يلمّح إليه الملف نفسه. فيدخل ذلك العدد في حقلَي العرض والارتفاع، وتقف بجانبهما جملة تسمّي الملف وتقول من أيّ من ثلاثة مواضع بالضبط أُخذ العدد. وهي جديرة بالقراءة قبل التحويل، لأنّ المواضع الثلاثة ليست في الثقة سواءً، ولا يعرف أيّها قصدت إلّا أنت.
- الملف يعلن حجمًا خاصًّا به، بالبكسل. وهذا أقوى الثلاثة: فمن صدّر الرسم قال بأيّ حجم ينبغي أن يكون، والحقلان يكرّران قوله لا غير.
- الملف يذكر حجمه بوحدات فيزيائيّة — بوصات أو سنتيمترات أو مليمترات أو نقاط أو بيكات — فحُوِّل بمعدّل ستّة وتسعين بكسلًا لكلّ بوصة، وهو ما تعنيه الشبكة بالبوصة لا قياسًا لشاشتك. والرسم المعدّ للطباعة يصل هكذا كثيرًا، وحجم البكسلات الخارج منه تحويل أمين لعدد لم يكن عن البكسلات في شيء.
- الملف لا يعلن أيّ حجم صالح، فقيس الحجم من viewBox الخاصّ به بدلًا من ذلك. وهذه هي الحالة الجديرة بنظرة ثانية: فـviewBox نظام إحداثيّات تُرسم فيه الأشكال لا حجم اختاره أحد، فأيقونة تمتدّ إحداثيّاتها من الصفر إلى أربعة وعشرين تصل طالبةً أن تكون صورة بحجم النقطة. ومن المعتاد كذلك أن تُكتب أطقم الأيقونات بعرض وارتفاع بالمئة، وتلك حجم شيء لا يملكه هذا الملف فتُقرأ كأن لا حجم، فتهبط هي الأخرى ها هنا.
وأيّها أجاب، يُقرَّب العدد إلى بكسلات صحيحة مرّة واحدة، لحظة قراءته، لأنّ لوحة الرسم تُحجز ببكسلات صحيحة وليس للكسر موضع. ولذلك أثر في أمر بعينه: فكلّ ما بعده يعمل من العدد المقرَّب الذي تراه لا من الكسر الذي خلفه، فضِعف رسم معروض بعرض واحد وثلاثين بكسلًا اثنان وستّون لا ثلاثة وستّون كما كان سينتج عن تقريب ثانٍ. فالحجم على الشاشة والحجم الذي يحسب به الحساب حجم واحد، وهو الترتيب الوحيد الذي يعني فيه الحقلان ما يقولان.
اختيار الحجم الذي تحتاج إليه — والرسم الذي لا يعلن أيّ حجم
الحجم الذي يلمّح إليه الملف نقطة بداية لا أكثر، وهو معروض بوصفه كذلك لا مفروضًا. وكلّ ما يتّصل بالحقلين مرتَّب على أن تمرّ الحالة العاديّة بلا تفكير وتبقى الحالة الدقيقة متاحة، وهذا كلّ الفرق بين هذه الصفحة وأختيها — فالصورة الفوتوغرافيّة تُحوَّل بالحجم الذي هي عليه أصلًا، وليس ثمّة ما يُقرَّر.
- اكتب عرضًا يلحق به الارتفاع، واكتب ارتفاعًا يلحق به العرض، فيحفظ الرسم نسبه دون أن تحسب أنت شيئًا. وهذه هي الحال المبدئيّة لأنّ تشويه شعار بالخطأ هو بالضبط الخطأ الجدير بأن يُجعل مستحيلًا.
- وأزل علامة الحفاظ على النسب حين تحتاج فعلًا إلى صندوق مضبوط — خانة لافتة، أو صورة شخصيّة بمقاس ثابت، أو صفيحة أيقونات — فيصير الحقلان مستقلًّا كلّ منهما عن الآخر. ويُمطّ الرسم عندئذ ليملأ ما طلبت، وهو ما أردته، وهو كذلك سبب كونه فعلًا مقصودًا لا حالًا مبدئيّة.
- وصفّ المضاعفات هو الطريق السريع إلى الأحجام التي يريدها الناس فعلًا، وكلّ واحد منها يُقاس على الحجم الذي يعلنه الملف لا على ما في الحقلين تلك اللحظة. فالضغط على المضاعف نفسه مرّتين يعطيك الجواب نفسه مرّتين، بدل أن يتراكم إلى شيء لم تطلبه.
- والمضاعف الذي لا جواب له يُعرض غير متاح لا زرًّا لا يفعل شيئًا. فمضاعفة رسم هو أصلًا هائل قد تبلغ حجمًا لا تستطيع صيغة صور أن تعبّر عنه، ومِقبَض يمتنع في صمت أسوأ من مِقبَض يريك أنّه لا يستطيع.
ثمّ هناك الملف الذي لا يعلن شيئًا: لا عرض ولا ارتفاع تستطيع هذه الأداة قراءتهما، ولا viewBox يُقاس منه. وهو أشيع ممّا يبدو — رسم يخرج مباشرةً من محرّرات بعينها، أو رسم كُتب باليد لصفحة كانت ستحدّد حجمه بـCSS. فليس فيه حجم حقًّا، فيُفتح الحقلان فارغين، ولا تظهر جملة عن مصدر عدد، وليس ثمّة ما يُضاعَف ولا نسب تُحفظ، ويرفض سطر النتيجة ويطلب منك عرضًا وارتفاعًا. وذلك الامتناع هو المقصود لا إخفاق: فالمتصفح إذا سُلّم ملفًا كهذا سقط إلى صندوق صغير ثابت لم يختره أحد، وأن تُسأل مرّة أفضل من أن تنزّل ذلك وتكتشفه بعد حين.
والزوج الذي ليس حجمًا يُرفض بكلماته هو، وذلك هو الشطر الآخر من العناية نفسها. فالصفر، والعدد السالب، ونصف البكسل، والعدد الأكبر ممّا تستطيع أيّ صيغة صور التعبير عنه، كلّ واحد منها يُرفض بدل أن يُقرَّب أو يُقصّ أو يُستبدل في صمت بحجم الملف نفسه — فالتحويل بحجم لم يطلبه أحد هو بالضبط ما وُجدت هذه الصفحة كي لا تفعله. وإن كان الذي اخترته صورة فوتوغرافيّة لا رسمًا، فحقول الحجم لا تظهر أصلًا: فصورة البكسلات تُحوَّل بأبعادها هي، ومِقبَض عاجز عن تغيير شيء أسوأ من غياب المِقبَض.
إلى أيّ صيغة تحوّل الرسم
تُفتح هذه الصفحة على PNG لأنّها الجواب الصحيح لكلّ متّجه تقريبًا، والصيغتان الأخريان على بعد نقرة لا خلف صفحة أخرى. والذي تختار بينه صيغة تخزّن البكسلات بالضبط وصيغتان تتنازلان عن بعضها في مقابل ملف أصغر، والرسم دليل مائل إلى جهة واحدة ميلًا غير معتاد: فاللون المسطّح والحافّة الحادّة هما بالضبط المحتوى الذي يتعامل معه الضغط مع فقد أسوأ تعامل.
- صيغة PNG هي المبدئيّة وهي عادةً نهاية النقاش. فهي تخزّن الرسم المحوَّل بالضبط، وتحمل الشفافيّة، وتضغط المساحات المستوية ذات اللون الواحد ضغطًا ممتازًا — وذاك أكثر ما يكون عليه الشعار أو الأيقونة، فيخرج الملف في أحيان كثيرة أصغر ممّا توحي به سمعة الصيغة.
- وصيغة JPG لا يجدر اختيارها إلّا حين يصرّ عليها شيء في الطرف الآخر. فهي لا تستطيع تخزين الشفافيّة البتّة، فلا بدّ من طلاء لون خلفيّة خلف رسمك، وضغطها يترك حاشية رماديّة بمحاذاة الحوافّ والحروف الحادّة نفسها التي من أجلها حوّلت المتّجه.
- وصيغة WebP هي الجواب الوسط لصفحة إنترنت: تحمل الشفافيّة وهي عادةً أصغر من ملف PNG. وهي هنا مع فقد عند كلّ درجة جودة، بما في ذلك أعلى المِقبَض، فهي اختيار جيّد لصورة ذاهبة إلى صفحة واختيار سيّئ لنسخة أصل ستحرّرها من جديد.
- وليست واحدة من الثلاث متّجهة، وهذه الصفحة لا تكتب صيغة متّجهة. فإن كان ما تحتاج إليه ملفًا يصلح لكلّ حجم، فملف SVG الذي بين يديك هو ذاك — احتفظ به، وعامل ما تنزّله هنا معاملة نسخة صُنعت لمكان واحد.
ولا يظهر مِقبَض الجودة إلّا للصيغتين اللتين عندهما ما تتنازلان عنه، وهما JPG وWebP؛ أمّا PNG فلا تتخلّص من شيء، فلا مِقبَض أصلًا بدل مِقبَض قائم لا يفعل شيئًا. ويعرض كلّ سطر الحجم الذي خرج به الملف، فتكون المقايضة التي تعقدها رقمًا موضوعًا أمامك. وتحريك ذلك المِقبَض يعيد ترميز صورة رُسمت من قبل، حيثما أمكن، بدل رسم الرسم من جديد، أمّا تغيير الحجم فيوجب الرسم من جديد — وذاك هو الترتيب الصحيح، لأنّ الثاني هو الذي ينتج بكسلات مختلفة حقًّا.
ما الذي لا يستطيع التحويل إلى بكسلات أن يحمله معه
كلّ ما يجري هنا يجري بآلة الرسم المبنيّة أصلًا داخل متصفحك: يُسلَّم الملف إليها بوصفه صورة، ويُرسم مرّة واحدة بالحجم الذي اخترته، ويُكتب من جديد بالصيغة التي طلبتها. وهذا ما يتيح للأداة أن تعمل دون أن يُرفع شيء ولا يُثبَّت شيء ولا يُنزَّل شيء سوى الصفحة نفسها — وهو للمتّجه يحسم كذلك ما الذي يمكن أن تحويه النتيجة أصلًا، لأنّ ملف SVG مستند لا كتلة بكسلات، والمستند يستطيع أن يطلب أشياء.
وبالتسليم على النحو الذي يجري هنا لا ينالها. فلا شيء داخل الملف يعمل ولا شيء خارج الملف يُجلب، وتلك خاصّيّة مقصودة وذات قيمة حقيقيّة: فملف SVG يستطيع أن يحمل سكربتًا، ويستطيع أن يحمل إشارة إلى عنوان في مكان ما كان سيُطلب لحظة عرض الرسم. وفتح رسم أتى من غريب هنا لا يفعل هذا ولا ذاك. وما تكلّفه هذه السلامة مفصَّل أدناه، وأوّل اثنين منه يُعلَنان في السطر بدل أن يُتركا لك كي تلحظهما.
- كلّ ما يشير إليه الملف خارج نفسه لن يُحمَّل — صورة مرتبطة، أو ورقة أنماط، أو خطّ. وذلك صحيح في عنوان على الشبكة وصحيح بالقدر نفسه في ملف جالس في المجلّد نفسه، وهو الحالة الأشيع بكثير وهو سبب قول التنبيه إنّ الأجزاء لن تُحمَّل بدل قوله إنّها بعيدة. وما كانت من أجله ناقص من النتيجة، والعلاج أن تُضمّنها داخل الرسم وتحوّل من جديد.
- والنص يُرسم بالخطوط المثبَّتة على هذا الجهاز. فالحروف في النتيجة وهي تبدو لك صحيحة، غير أنّ الملف نفسه إذا حُوِّل على حاسوب آخر قد يختار وجهًا آخر ويخرج صورة أخرى. فإن كانت الأشكال بعينها مهمّة، فحوّل النص إلى مسارات في البرنامج الذي رسم الملف، وعندئذ لا يُبحث عن شيء أصلًا.
- وكلّ ما يفعله الرسم عبر الزمن ليس في النتيجة. فالمخرَج صورة ساكنة في كلّ صيغة معروضة، فالملف الذي يحرّك نفسه يسهم باللحظة الواحدة التي رُسمت، ولا ينجو من الرحلة شيء تفاعليّ كذلك.
وثمّة سقفان على المخرَج يستحقّان أن يُقالا صراحةً بدل أن يُتركا للاكتشاف. فملف PNG يكتبه ضاغط المتصفح نفسه، وهو لا بأس به لا مستقصٍ، فبإمكان أداة تحسين متخصّصة أن تقتطع منه شريحة بعد ذلك دون أن تمسّ فيه بكسلًا واحدًا؛ وملف WebP يكتبه مع فقد عند كلّ ضبط، لأنّه لا يمكن أن يُطلب من متصفح وضع الصيغة بلا فقد أصلًا. وكان يمكن رفع السقفين معًا بتضمين مرمّز حقيقيّ مُصرَّف ليعمل داخل الصفحة، وهذه الأداة تمتنع عن ذلك عمدًا — فهو مئات قليلة من الكيلوبايتات ينزّلها كلّ زائر ليحصل بعضهم على ملف أصغر قليلًا، في موقع تعمل فيه كلّ صفحة أخرى لحظة عرضها. وفي هذه الصفحة بعينها كان سيشتري كذلك أقلّ ممّا يبدو: فالتحويل إلى بكسلات هو رسم المتصفح نفسه لمتّجهك، والمرمّز لا يستطيع أن يغيّر كيف رُسم.
ما الذي يقوله لك كلّ سطر عن رسمك، ومتى يرفض
المحوّل الذي يعمل في صمت هو السبب في أن ينتهي أحدهم بشعار على خلفيّة سوداء، أو برسم تنقصه الصورة التي كان يشير إليها، فيكتشف ذلك بعد أيّام وفي مكان آخر. وكلّ سطر هنا يحمل بيانًا قصيرًا بما جرى فعلًا لذلك الملف — ولا يحمل شيئًا البتّة حين لا يجري شيء يستحقّ الذكر، وهذا ما يجعل التنبيهات جديرة بالوقوف عندها. والمتّجه يلقى منها طقمًا غير الذي تلقاه الصورة الفوتوغرافيّة، وثلاثة من تنبيهات الأداة لا يمكن أن تنطبق عليه البتّة: فالرسم ليس فيه تفاصيل كاميرا تُسقَط، ولا فيه ما يقول في أيّ جهة هو قائم، ولا فيه إطارات تُفقد.
- شيء يشير إليه الرسم لن يُحمَّل. ويظهر هذا لملف يحيل إلى صورة أو ورقة أنماط أو خطّ ليست داخله، سواء بعنوان أو بمسار بجانبه، وهو تفسير نتيجة خرجت وفيها قطعة ناقصة.
- النص رُسم بالخطوط التي على هذا الجهاز. ولا يظهر هذا إلّا حيث يضع الرسم حروفًا على لوحة الرسم فعلًا، فالملف الذي فيه عنصر نص فارغ لا يقول شيئًا، والرسم الذي لا نص فيه أصلًا لا يقول شيئًا كذلك.
- الشفافيّة سُطّحت، وعلى أيّ لون. فالتحويل إلى JPG لا بدّ أن يضع شيئًا خلف الرسم، ويظهر مِقبَض لون الخلفيّة بمجرّد أن يحتاج إليه ملف في قائمتك حقًّا. وهذا التنبيه يُقاس ولا يُفترض: فهو ينتظر حتّى يُعثر على بكسل شفّاف حقًّا في ما رُسم، فالرسم الذي يغطّي رسمه الصورة كلّها يُحوَّل إلى JPG دون أن يُقال عن ذلك شيء.
- الاسم والمحتوى لا يتّفقان. فالصيغة تُحسم من محتوى الملف لا من امتداده أبدًا، فالرسم الذي حفظه أحدهم بامتداد خاطئ يُقرأ ويُحوَّل صحيحًا بوصفه ملف SVG الذي هو عليه — وتُخبَر بذلك، لأنّه أمر صحيح عن ملفك لعلّك لم تكن تعرفه.
- صيغة WebP عند هذا الضبط ما تزال مع فقد. فتحويل رسم إلى بكسلات ثمّ طلب أقصى أعلى مِقبَض الجودة يوحي بأنّ الذي يعود ينبغي أن يكون عين ما رُسم، وليس هو — وذاك هو الاعتقاد الذي جاء التنبيه ليصحّحه، ولهذا يظهر هناك ولا يظهر في أيّ موضع أدنى منه.
وحين يتعذّر تحويل ملف من أصله، تقول الأداة السبب بدل أن تنتج شيئًا. فالملف الذي ليس أيًّا من الصيغ التي تقرؤها يُسمَّى ويُرفض، وكذلك الملف الذي هو إحداها لكنّ أوّله لا يُقرأ — وهو للرسم يعني وسم فتحه، وذاك كلّ ما عند المتّجه من ترويسة. والملف الذي فيه رسم في مكان ما داخل صفحة إنترنت ليس ملف صورة ويُرفض بوصفه كذلك، وكذلك الرسم الذي يتبيّن أنّ متصفحك عاجز عن رسمه مهما بدا سليمًا من الخارج. فلا شيء يُخمَّن، ولا شيء نصف مصنوع يُعاد إليك كأنّه تامّ.
وأرجح رفض تلقاه هنا هو الرفض المتعلّق بالحجم، وذاك أمر يخصّ هذه الصفحة لا يخصّ ملفك: فالمضاعِف على بعد نقرة، والرسم يُسأل أيّ حجم كان عن طيب خاطر، وليس في المتّجه ما يوقفك. الذي يوقفك هو المتصفح، فهو لا يمسك صورة إلّا حتّى مساحة بعينها — مساحة على الهاتف غير المساحة على الحاسوب المكتبيّ، ومساحة أخرى غيرهما بين متصفحين على الجهاز الواحد. وتجاوزها لا يُنتج خطأً البتّة، بل صورة فارغة من بضعة كيلوبايتات تبدو تحويلًا تامًّا حتّى تُفتح. ولهذا تكتب هذه الأداة في الصورة بالحجم الذي طلبته بكسلًا معلومًا وتقرؤه من فورها قبل أن يُرسم شكل واحد؛ فإن لم يعد إليها، جاءك الرفض والحجم في داخله ولم يأتك ملف. وليس في الأمر كلّه مقارنة بعدد ثابت، فالسقف الذي تبلغه سقف جهازك أنت لا سقف اختير لأحد سواك.
لماذا لا يغادر رسمك هذا التبويب أبدًا
الرسم يبوح بأكثر ممّا تبوح به الصورة الفوتوغرافيّة، لأنّ الرسم ملف نصي يمكن أن يُقرأ. أسماء الطبقات، واسم من صدّره، وتعليق تركه أحدهم في داخله، وعنوان كلّ قطعة كان يشير إليها — كلّ ذلك مكتوب صراحةً في الملف، ولا شيء منه يذهب إلى أيّ مكان. فملف SVG عندك يقرؤه هذا التبويب ويحوّله إلى بكسلات معالج جهازك أنت. وليس في الطرف الآخر من هذه الصفحة خادم يستطيع أن يستقبل ملفًا كهذا، فهذا وصف لِما بُنيت منه الأداة لا وعد بكيفيّة تشغيلها.
وثوانٍ معدودة في لوحة الشبكة في أدوات المطوّر بمتصفحك تحسم الأمر، وفي حالة الرسم ثمّة أمران يُنظر إليهما لا أمر واحد. لا يخرج شيء يحمل ملفك، ولا يخرج شيء بالنيابة عن الملف كذلك، مهما كثرت العناوين المكتوبة في داخله. وبعد أن تُحمَّل الصفحة تصير حفنة ملفات ثابتة لا شيفرة تعمل في مكان آخر، فيمكنك قطع الاتّصال بالشبكة تمامًا والمضيّ في التحويل إلى بكسلات ما شئت.
- الرسم الذي ما كنت لترسله إلى غريب — شعار لم يُعلن بعد، أو مخطّط طابق، أو رسم لشيء داخليّ — يمكن تحويله هنا إلى بكسلات دون أن يغادر جهازك البتّة.
- والذي يخرج من التحويل إلى بكسلات يبقى في هذا التبويب حتّى تحفظه، وإغلاق التبويب هو حذفه كلّه. فلا الرسم الذي جئت به ولا الصورة المصنوعة منه يُذكر بين زيارة وأخرى.
- والرسم الذي وصل من مكان لا تثق به تمامًا آمن الفتح هنا، لأنّ لا شيء داخله يعمل ولا شيء يشير إليه يُجلب. وتحويله إلى بكسلات وسيلة لتجريده كذلك: فالذي تنزّله بكسلات، والبكسلات لا تستطيع أن تطلب شيئًا.
الأسئلة الشائعة
- لماذا يطلب منّي عرضًا وارتفاعًا؟
- لأنّ رسمك لا يقول. فليست لملف SVG بكسلات خاصّة به، فلا بدّ أن يأتي الحجم من مكان: العرض والارتفاع في الملف نفسه، أو نظام إحداثيّات viewBox الخاصّ به إن كان له واحد. وملفك لا يعلن واحدًا منهما في صورة يمكن أن تُقرأ حجمًا — وذلك يقع في رسوم تخرج مباشرةً من محرّرات بعينها، وفي رسوم كُتبت لصفحة إنترنت كانت ستحدّد حجمها بـCSS. وبدل أن تسلّمك صندوقًا صغيرًا ثابتًا لم يختره أحد، وهو ما يسقط إليه المتصفح، تسأل الأداة. وفي هذه الحالة وحدها يلزم ملء الحقلين معًا لا أحدهما، لأنّه لا نسب تُحفظ كذلك — فالملف لا يعلنها، فليس ثمّة ما يُحسب منه عدد ثانٍ، ولذلك أيضًا لا يُعرض قفل ولا تُعرض مضاعفات. املأ الزوج الذي تريد ويجري التحويل عليه.
- من أين جاء الحجم الذي في الحقلين، وهل أثق به؟
- من واحد من ثلاثة مواضع بالضبط، والجملة التي بجانب الحقلين تسمّي ملفك وتقول من أيّها. فإن كان الملف يعلن حجمًا خاصًّا به بالبكسل، فالحقلان يكرّرانه وهو جدير بالثقة بقدر من صدّر الرسم. وإن كان يذكر حجمه بوحدات فيزيائيّة — بوصات أو سنتيمترات أو نقاط — فالعدد تحويل بمعدّل ستّة وتسعين بكسلًا لكلّ بوصة، وهو ما تعنيه الشبكة بالبوصة؛ والتحويل أمين، غير أنّ الأصل لم يكن يفكّر بالبكسلات أصلًا. وإن كان الملف لا يعلن حجمًا، فالعدد قيس من viewBox، وهو نظام الإحداثيّات الذي تُرسم فيه الأشكال لا حجم اختاره أحد — فأيقونة تبلغ إحداثيّاتها أربعة وعشرين ستعرض عليك صورة بحجم النقطة. وتلك هي الحالة الجديرة بالتغيير لا بالقبول.
- جزء من رسمي ناقص — صورة، أو شعار داخله، لم يخرجا. لماذا؟
- لأنّ الرسم كان يشير إليهما ولا يحويهما، ولا شيء خارج الملف يُجلب هنا. وذلك يشمل الإشارة إلى عنوان على الشبكة ويشمل بالقدر نفسه الإشارة إلى ملف جالس في المجلّد نفسه، وهي الحالة الأشيع بكثير: فالرسم يبدو تامًّا في المجلّد الذي يعيش فيه ويخرج وفيه ثقب في كلّ مكان سواه، ومن ذلك هذا المكان. والسطر يخبرك حين يفعل ملف ذلك. والامتناع عن الجلب مقصود لا قصور فيه — فرسم من غريب يستطيع أن يطلب أشياء هو بالضبط ما لا يُفتح باستخفاف — فالعلاج عندك أنت: ضمّن القطع المشار إليها داخل ملف SVG، في البرنامج الذي رسمه، وحوّله من جديد.
- هل سيبدو النص في رسمي كما هو على جهاز شخص آخر؟
- ليس بالضرورة، وهذا هو التنبيه الذي يرفعه السطر عن ذلك. فملف SVG الذي يرسم حروفًا يسمّي خطًّا ويترك رسمه لما يعرض الملف، فالتحويل هنا يستعمل الخطوط المثبَّتة على هذا الجهاز. والذي تنزّله ثابت وسيبدو من الآن نفسه في كلّ مكان — فهو بكسلات — غير أنّ الملف نفسه إذا حُوِّل على حاسوب آخر فقد يختار وجهًا آخر وينتج صورة أخرى. فإن كانت أشكال الحروف بعينها مهمّة، فالجواب الموثوق أن تحوّل النص إلى مسارات في البرنامج الذي رسم الملف. فتصير الحروف عندئذ أشكالًا كسائر أشكاله، ولا يُبحث عن شيء، ويُحوَّل الرسم على النحو نفسه أينما فُتح.
- أأحوّل إلى PNG أم إلى JPG أم إلى WebP؟
- إلى PNG ما لم يكن عندك سبب، ولذلك تُفتح الصفحة عليها. فالمتّجه المحوَّل إلى بكسلات لون مسطّح وحوافّ حادّة، وصيغة PNG تخزّنها بالضبط وتضغطها ضغطًا ممتازًا، وهي تحفظ الشفافيّة — فيخرج الشعار أو الأيقونة عادةً صحيحًا وصغيرًا معًا. واختر WebP لصورة ذاهبة إلى صفحة إنترنت، فهي تحمل الشفافيّة هناك كذلك وتكون عادةً أصغر بعد، مع تذكّر أنّها هنا مع فقد عند كلّ ضبط بما في ذلك أعلى المِقبَض. واختر JPG وحدها حين يصرّ شيء في الطرف الآخر على تلك الصيغة: فهي لا تستطيع حمل الشفافيّة، فلا بدّ من طلاء خلفيّة خلف رسمك، وضغطها يضرّ بالضبط بالحوافّ والحروف الحادّة التي من أجلها حوّلت المتّجه. وإن لم تكن واثقًا، فحوّل مرّتين وقارن السطرين.
- صار ملف PNG عندي مموَّهًا بعد أن كبّرته. هل أستعيد الحدّة؟
- لا من ملف PNG، ولا بأيّ أداة. فالتحويل إلى بكسلات يطرح الأشكال ويبقي البكسلات، فتكبير النتيجة يكبّر البكسلات — ولن تكون نسخة منها أحدّ من الحجم الذي صُنعت به. والجواب أن تعود إلى ملف SVG وتحوّله من جديد بالحجم الذي تحتاج إليه فعلًا، وذلك لا يكلّف شيئًا وهو سبب استحقاق الأصل أن يُحتفظ به بدل أن يُستبدل بما نزّلته. وهذه الصفحة لا تكتب ملف SVG وليس فيها إعداد يعيد البكسلات أشكالًا: تلك مسألة أخرى تمامًا، ومحوّل يعرضها كان سيخمّن المنحنيات لا يستردّها.
- في أيقونتي أجزاء شفّافة — أتبقى بعد التحويل إلى بكسلات؟
- تبقى في PNG وفي WebP، فلكليهما موضع تحفظها فيه، وتخرج الأيقونة بعد التحويل إلى بكسلات بالحواف الشفّافة نفسها التي كانت للرسم. ولا تبقى في JPG، إذ ليس فيه قناة للشفافيّة أصلًا: فتطلي الأداة لونًا خلف أيقونتك أوّلًا وتسمّي ذلك اللون في السطر. وتطلي الأبيض ما لم تقل غير ذلك، فأكثر المستندات والشرائح ونماذج الرفع تكون بيضاء، ويظهر مِقبَض اللون ما إن يحتاج إليه ملف في قائمتك حقًّا — وتغييره يعيد تشغيل التحويل. وثمّة ما يستحقّ أن يُعرف: التنبيه عن البكسلات لا عن الرسم. فهو ينتظر حتّى يوجد في المرسوم بكسل شفّاف حقًّا، ولذلك تمضي إلى JPG في صمت أيقونةٌ يملأ رسمها صندوقها كلّه.
- أيُرسل ملف SVG عندي إلى مكان ما، وأأستطيع التحويل إلى بكسلات دون اتّصال؟
- لا، ونعم. فرسمك يقرؤه هذا التبويب ويحوّله إلى بكسلات جهازك أنت، وليس في هذا الموقع خادم يستطيع أن يستقبل ملفًا كهذا. ولوحة الشبكة في أدوات المطوّر عندك تريك شطرَي ذلك دفعةً واحدة، إذ إنّ الرسم المحشوّ بالإحالات الخارجيّة لا يُنتج هو الآخر أيّ طلب. وبعد أن تُحمَّل الصفحة لا تريد من الشبكة شيئًا بعد، فلك أن تعمل مقطوع الاتّصال ما شئت. ولأنّ التحويل إلى بكسلات يبقي البكسلات ويطرح المستند، فإنّ الذي تحفظه لا يحمل شيئًا من النص الذي كُتب به ملف SVG عندك: لا أسماء طبقات ولا اسم مؤلّف ولا عناوين.