PPM Format Specification(5)

الاسم

PPM - تنسيق الصورة الملونة Netpbm

الوصف

هذا البرنامج جزء من Netpbm(1) .

تنسيق PPM هو تنسيق ملف صورة ملونة ذو قاسم مشترك أدنى.

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

يُلاحظ أيضًا أن الملفات غالباً ما تتوافق مع هذا التنسيق من كل النواحي باستثناء الدلالات الدقيقة لقيم العينات. هذه الملفات مفيدة بسبب الطريقة التي يُستخدم بها PPM كتنسيق وسيط. تُسمى بشكل غير رسمي ملفات PPM، ولكن لكي تكون دقيقاً تماماً، يجب أن تشير إلى الاختلاف عن PPM الحقيقي. على سبيل المثال، "PPM باستخدام الألوان الأحمر والأخضر والأزرق التي يستخدمها الماسح الضوئي المعني."

الاسم "PPM" هو اختصار مشتق من "خريطة البكسل المنقولة." الصور بهذا التنسيق (أو سلفه) كانت تُسمى أيضًا "صور البكسل المنقولة."

التنسيق

تعريف التنسيق كما يلي. يمكنك استخدام مكتبة الروتينات الفرعية C libnetpbm(1) لقراءة وتفسير التنسيق بشكل ملائم ودقيق.

يتكون ملف PPM من سلسلة من صورة PPM واحدة أو أكثر. لا توجد بيانات أو محددات أو حشو قبل الصور أو بعدها أو بينها.

تتكون كل صورة PPM مما يلي:

•   "رقم سحري" لتحديد نوع الملف. الرقم السحري لصورة ppm هو الحرفان "P6".

•   مساحة بيضاء (فراغات، وعلامات جدولة، ومحارف CR، ومحارف LF).

•   عرض، منسق كمحارف ASCII بالنظام العشري.

•   مساحة بيضاء.

•   الارتفاع، مجددًا بنظام ASCII العشري.

•   مساحة بيضاء.

•   قيمة اللون القصوى (Maxval)، مرة أخرى بالنظام العشري ASCII. يجب أن تكون أقل من 65536 وأكبر من الصفر.

•   محرف مسافة بيضاء واحد (عادةً سطر جديد).

•   شبكة من صفوف بارتفاع Height، بالترتيب من الأعلى إلى الأسفل. يتكون كل صف من عرض Width بكسل، بالترتيب من اليسار إلى اليمين. كل بكسل هو ثلاثي من عينات الأحمر والأخضر والأزرق، بهذا الترتيب. كل عينة ممثلة في ثنائي خالص إما ببايت واحد أو 2 بايت. إذا كانت Maxval أقل من 256، فهي بايت واحد. وإلا، فهي 2 بايت. البايت الأكثر أهمية هو الأول.

    صف الصورة أفقي. العمود عمودي. البكسلات في الصورة مربعة ومتلاصقة.

    في الشبكة، قيم العينات "غير خطية." إنها متناسبة مع شدة الأحمر والأخضر والأزرق وفقاً لتوصية ITU-R BT.709 في البكسل، معدلة بواسطة دالة نقل جاما BT.709. (تحدد دالة النقل تلك رقم جاما 2.2 ولها قسم خطي للشدة الصغيرة). قيمة Maxval لجميع العينات الثلاث تمثل اللون الأبيض CIE D65 واللون الأكثر شدة في الكون اللوني الذي تكون الصورة جزءاً منه (الكون اللوني هو كل الألوان في جميع الصور التي قد تُقارن بها هذه الصورة).

    نطاق قيم القناة BT.709 (16-240) غير ذي صلة بـ PPM.

    توصية ITU-R BT.709 هي إعادة تسمية لتوصية CCIR 709 السابقة. عندما تم دمج CCIR في منظمتها الأم، ITU، حوالي عام 2000، تمت إعادة تسمية المعيار. أشارت هذه الوثيقة مرة إلى المعيار باسم CIE Rec. 709، لكنه ليس واضحاً الآن أن CIE رعت يوماً مثل هذا المعيار.

    لاحظ أن فضاء لوني شائع آخر هو sRGB الأحدث. الاختلاف الشائع عن PPM هو استبدال هذا الفضاء اللوني بالفضاء المحدد. يمكنك استخدام pnmgamma للتحويل بين هذا الاختلاف و PPM الحقيقي.

    لاحظ أن الاختلاف الشائع عن تنسيق PPM هو جعل قيم العينات "خطية،" أي كما هو محدد أعلاه باستثناء بدون تعديل جاما. يأخذ pnmgamma مثل هذا المتغير من PPM كمدخل وينتج PPM حقيقياً كمخرج.

السلاسل التي تبدأ بـ "#" قد تكون تعليقات، تماماً كما في PBM(1) .

لاحظ أنه يمكنك استخدام pamdepth للتحويل بين التنسيق ببايت واحد لكل عينة والتنسيق ببايتين لكل عينة.

جميع المحارف المشار إليها هنا مشفرة بترميز ASCII. تشير كلمة "newline" إلى المحرف المعروف في ASCII باسم Line Feed أو LF. محرف "white space" هو المسافة، أو CR، أو LF، أو TAB، أو VT، أو FF (أي ما تسميه دالة isspace()‎ في معيار ANSI C مسافة بيضاء).

  مجموعة فرعية دنيا

تنسيق PPM بسيط جدًا لدرجة أن العديد من المبرمجين يكتبون برامج لمعالجته
  مباشرة، دون استخدام مكتبة مثل libnetpbm، مع هندسة عكسية لمجموعة فرعية
  من التنسيق من الأمثلة بدلاً من استخدام المواصفات. لذلك، إذا أردت إنتاج صورة
  يمكن لأكبر عدد ممكن من البرامج قراءتها، يجب الالتزام بالمجموعة الفرعية التالية.

تتكون الصورة من البايتات التالية:

•   'P6' متبوعًا بسطر جديد

•   العرض والارتفاع ويفصل بينهما مسافة (مثل '50 100')،
        يتبعها سطر جديد

•   maxval، متبوعة بسطر جديد. 255 على الأكثر؛ وبشكل أكثر تقليلاً، 255
        بالضبط.

•   المنقّط

توجد صورة واحدة فقط في الملف.

ينتج برنامج pnmtopnm هذه المجموعة الفرعية الدنيا، لذا إذا كان لديك صورة PGM أكثر تعقيداً، يمكنك تمريرها إلى برنامج أقل تسامحاً من خلال pnmtopnm. ويمكن لـ pamdepth جعل maxval تساوي 255.

  PPM العادي

هناك في الواقع نسخة أخرى من تنسيق PPM نادرة نسبيًا: تنسيق PPM "البسيط". التنسيق أعلاه، الذي يُعتبر عمومًا التنسيق العادي، يُعرف بتنسيق PPM "الخام". انظر pbm (1) لبعض التعليقات حول كيفية ارتباط التنسيقين البسيط والخام ببعضهما وكيفية استخدامهما.

الفرق في التنسيق المجرد هو:

•   توجد صورة واحدة بالضبط في الملف.

•   الرقم السحري هو P3 بدلاً من P6.

•   كل عينة في المسح النقطي ممثلة كرقم عشري ASCII (بأي حجم).

•   كل عينة في المسح النقطي لها مسافة بيضاء قبلها وبعدها. يجب أن يكون هناك حرف مسافة بيضاء واحد على الأقل بين أي عينتين، لكن لا يوجد حد أقصى. لا يوجد فصل محدد بين بكسل وآخر -- فقط الفصل المطلوب بين العينة الزرقاء لبكسل والعينة الحمراء للبكسل التالي.

•   لا ينبغي أن يتجاوز طول أي سطر 70 محرفًا.

هذا مثال لصورة صغيرة بهذا التنسيق.
P3
# feep.ppm
4 4
15
 0  0  0    0  0  0    0  0  0   15  0 15
 0  0  0    0 15  7    0  0  0    0  0  0
 0  0  0    0  0  0    0 15  7    0  0  0
15  0 15    0  0  0    0  0  0    0  0  0

يوجد محرف سطر جديد في نهاية كل من هذه الأسطر.

البرامج التي تقرأ هذا التنسيق يجب أن تكون متسامحة قدر الإمكان، مقبولة أي شيء يبدو عن بعد كصورة PPM.

نوع وسائط الإنترنت

لم يُسجل أي نوع وسائط إنترنت (المعروف بنوع MIME، نوع المحتوى) لـ PPM لدى IANA، لكن القيمة image/x-portable-pixmap تقليدية.

لاحظ أن نوع وسائط الإنترنت PNM من نوع image/x-portable-anymap ينطبق أيضًا.

اسم الملف

لا توجد متطلبات على اسم ملف PPM، لكن التقليد هو استخدام اللاحقة ".ppm". "pnm" تقليدية أيضًا، للحالات التي لا يكون فيها التمييز بين التنسيقات الفرعية الخاصة لـ PNM مناسبًا.

التوافقية

قبل أبريل 2000، لم يكن بإمكان ملف PPM بالتنسيق الخام أن يحتوي على maxval أكبر من 255. وبالتالي، لم يكن بإمكانه احتواء أكثر من بايت واحد لكل عينة. البرامج القديمة قد تعتمد على هذا.

قبل يوليو 2000، كان يمكن أن يكون هناك صورة واحدة على الأكثر في ملف PPM. ونتيجة لذلك، معظم الأدوات لمعالجة ملفات PPM تتجاهل (ولا تقرأ) أي بيانات بعد الصورة الأولى.

انظر أيضًا
pnm(1) , pgm(1) , pbm(1) , pam(1) , برامج تعالج PPM(1)

مصدر المستند
أُنشئت صفحة الدليل هذه بواسطة أداة Netpbm المسماة 'makeman' من مصدر HTML. التوثيق الرئيسي موجود في

    http://netpbm.sourceforge.net/doc/ppm.html

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.