الوصف
output_format_image_width و
output_format_image_height
(القيمة الافتراضية لكليهما هي 1024). وتُملأ البكسلات التي لا تغطيها النتيجة باللون الأسود
(في وضعي RGB والتدرج الرمادي) أو بالأسود الشفاف (في وضع RGBA).
يُحدَّد وضع الألوان تلقائيًا استنادًا إلى أسماء الأعمدة وأنواعها في النتيجة:
تُطابَق أسماء الأعمدة دون حساسية لحالة الأحرف. وإذا تعذر تحديد وضع الألوان
بشكل لا لبس فيه (مثلًا: أسماء أعمدة غير معروفة، أو مزج
v مع r/g/b/a، أو غياب أحد r/g/b)،
فإن الاستعلام يرفع استثناءً.
بالنسبة إلى قنوات البكسل، تُقيَّد القيم الصحيحة ضمن [0, 255]، وتُقيَّد قيم الفاصلة العائمة
ضمن [0, 1] ثم تُحوَّل إلى النطاق [0, 255].
يُحدَّد موضع كل سجل في الصورة بأحد وضعين:
- ضمني (الافتراضي — عندما لا يكون
xولاyموجودين). يقابل كل سجل بكسلًا واحدًا؛ وتُملأ البكسلات بترتيب خطوط المسح: من اليسار إلى اليمين، ومن الأعلى إلى الأسفل. - صريح (عند وجود العمودين
xوy، وكلاهما من نوع عدد صحيح). يحدِّد العمودانxوyإحداثيات البكسل. وتُتجاهل السجلات ذات الإحداثيات الواقعة خارج الصورة بصمت. وعند وجود عدة سجلات بالإحداثيات نفسها، تكون الغلبة للأخير (خوارزمية الرسام).
مثال للاستخدام
الإحداثيات الضمنية (صف لكل بكسل)، RGB
إحداثيات صريحة، وتدرّج رمادي
الرسوم المتحركة
t بنوع عدد صحيح، فسينتج التنسيق صورة PNG متحركة (APNG) بدلًا من
صورة ثابتة. تُجمَّع السجلات في إطارات وفقًا لقيمة t، التي تمثل الإزاحة الزمنية النسبية
للإطار. كل إطار صورة مستقلة: تكون اللوحة فارغة عند بدء كل إطار، وفي
وضع الإحداثيات الضمني يُعاد المؤشر إلى الزاوية العلوية اليسرى. يمكن استخدام العمود t مع
أيٍّ من وضعي الإحداثيات.
تُحدَّد وحدة t بواسطة
output_format_image_time_multiplier_seconds
و
output_format_image_time_divisor_seconds:
تساوي وحدة واحدة من t عدد الثواني output_format_image_time_multiplier_seconds / output_format_image_time_divisor_seconds.
وباستخدام القيم الافتراضية (1 و60)، تساوي وحدة واحدة من t 1/60 من الثانية.
يُعرض الإطار إلى أن يبدأ الإطار التالي، لذا تساوي مدته الفرق بين قيمتين متتاليتين
لـ t. ويُعرض الإطار الأخير للمدة نفسها التي عُرض بها الإطار السابق. تتكرر الرسوم المتحركة إلى ما لا نهاية.
بث الإطارات
t ويتيح ورود t بأي ترتيب.
يكتب الإعداد
output_format_image_streaming_animation
كل إطار فور ظهور القيمة التالية لـ t. يُحتفظ بمخزن صور واحد فقط في الذاكرة، وتصل الإطارات إلى
المخرجات بينما لا يزال الاستعلام قيد التشغيل، بحيث يمكن للعارض عرضها فور إنتاجها.
في المقابل:
- يجب أن تكون قيم
tغير متناقصة؛ وإلا يرفع الاستعلام استثناءً. أضفORDER BY tعند الحاجة. - لا يكون عدد الإطارات معروفًا عند وجوب كتابة الترويسة، لذا يعلن الجزء
acTLحدًا أعلى بدلًا من العدد الدقيق. تشغّل المتصفحات ملفًا كهذا، لكن المفككات التي تعتمد العدد المُعلن (مثلPillowوبعض أدواتAPNGمن سطر الأوامر) تُبلغ عن خطأ بعد آخر إطار فعلي. ويُستثنى من ذلك الرسم المتحرك المكوّن من إطار واحد: إذ تكون النتيجة كاملة قد قُرئت عند كتابة ذلك الإطار، لذا يُعلن العدد بدقة وتتوافق المخرجات مع المواصفة.
iterm. ولا يستطيع بروتوكول sixel تمثيل الرسوم المتحركة
مطلقًا، كما أن بروتوكول رسومات Kitty لا يحرّك الصور إلا عبر تدفق منفصل من الأوامر لكل إطار،
وليس عبر تدفق بيانات متحرك، لذا سيعرض الإطار الأول فقط؛ ويرفض كلا الوضعين نتيجة تحتوي على
عمود t.
عرض الصور في الطرفية
PNG بايتات الصورة الخام. ويجعل الإعداد
output_format_image_terminal_mode
التنسيق يعرض الصورة مباشرةً في الطرفية باستخدام بروتوكول صور مضمنة بدلًا من ذلك: