ICO (تنسيق الملف)

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

يُعدّ تنسيق ملف CUR تنسيقًا مطابقًا تقريبًا لتنسيق ملفات الصور الخاصة بالمؤشرات غير المتحركة في نظام التشغيل مايكروسوفت ويندوز. ويكمن الاختلاف الوحيد بين هذين التنسيقين في البايتات المستخدمة لتعريفهما، بالإضافة إلى إضافة نقطة فعّالة في رأس تنسيق CUR؛ تُعرَّف النقطة الفعّالة بأنها إزاحة البكسل (بإحداثيات س، ص) من الزاوية العلوية اليسرى لصورة المؤشر إلى الموضع الذي يُشير إليه المستخدم فعليًا بفأرة الماوس. [ 2 ] وبينما لا يزال هذا التنسيق مدعومًا جزئيًا في متصفحات الويب الحالية لأسباب تتعلق بالتوافق مع الأنظمة القديمة [ 3 ] ، إلا أن ميزة عكس بكسلات الشاشة لم تُطبَّق فيها مطلقًا. [ 4 ]

يُستخدم تنسيق ملف ANI لمؤشرات ويندوز المتحركة . ANI عبارة عن حاوية RIFF ؛ كل إطار بداخلها عبارة عن صورة كاملة بتنسيق CUR، وقد تحتوي هي نفسها على صور بأحجام متعددة.

تاريخ

كانت الأيقونات التي طُرحت في نظام التشغيل ويندوز 1.0 أحادية اللون. [ 5 ] في نظامي التشغيل ويندوز 1.x و 2.x ، كانت ملفات ICO وCUR عبارة عن صور ثنائية خام بدون غلاف دليل - يحتوي كل ملف على صورة أحادية اللون واحدة بحجم ثابت. تم تقديم تنسيق ICONDIR متعدد الصور، ودعم 16 لونًا (4 بت لكل بكسل)، وتخطيط الإطار القائم على DIB في نظام التشغيل ويندوز 3.0 .

أضافت Win32 دعمًا لتخزين صور الأيقونات بما يصل إلى 16.7 مليون لون (TrueColor) وبأبعاد تصل إلى 256×256 بكسل. [ 6 ] كما قدم نظام التشغيل Windows 95 محركًا جديدًا للصور النقطية المستقلة عن الجهاز (DIB). [ 7 ] مع ذلك، كان عمق ألوان الأيقونات الافتراضي في Windows 95 هو 256 لونًا. وكان من الممكن تفعيل أيقونات ذات 65535 لونًا (Highcolor) إما بتعديل قيمة Shell Icon BPP في سجل النظام [ 6 ] [ 8 ] أو بشراء Microsoft Plus! لنظام Windows 95. تتيح قيمة Shell Icon Size استخدام أيقونات أكبر حجمًا بدلًا من أيقونات 32×32، بينما تتيح قيمة Shell Small Icon Size استخدام أحجام مخصصة بدلًا من أيقونات 16×16. وبالتالي، يمكن لملف أيقونة واحد تخزين صور بأي حجم، من 1×1 بكسل إلى 256×256 بكسل (بما في ذلك الأحجام غير المربعة)، مع 2 مليون لون (نادرًا ما يُستخدم)، أو 16 مليون لون، أو 256 مليون لون، أو 65535 مليون لون، أو 16.7 مليون لون؛ ولكن لم يكن بإمكان واجهة النظام عرض أيقونات كبيرة الحجم جدًا. وكانت منطقة الإشعارات في شريط مهام ويندوز محدودة بـ 16 لونًا للأيقونات افتراضيًا حتى إصدار ويندوز مي، حين تم تحديثه لدعم الأيقونات ذات الألوان المتعددة.

أضاف نظام التشغيل Windows XP دعمًا لصور الأيقونات ذات الألوان 32 بت (16.7 مليون لون بالإضافة إلى قناة ألفا 8 بت للشفافية)، مما يسمح برسم مناطق شبه شفافة مثل الظلال ، والتنعيم ، وتأثيرات تشبه الزجاج في الأيقونات. يستخدم Windows XP افتراضيًا أيقونات بحجم 48×48 بكسل في مستكشف Windows . يمكن إجبار Windows XP على استخدام أيقونات بحجم يصل إلى 256×256 بكسل عن طريق تعديل قيمة حجم أيقونة النظام، ولكن هذا سيؤدي إلى تكبير جميع الأيقونات بحجم 32×32 بكسل في النظام. [ 6 ] أوصت مايكروسوفت بأحجام أيقونات تصل إلى 48×48 بكسل فقط لنظام Windows XP. [ 9 ] يمكن لنظام Windows XP تصغير الأيقونات الكبيرة إذا لم يتوفر حجم صورة أقرب.

أضاف نظام التشغيل Windows Vista دعمًا كاملاً لأيقونات ملونة بدقة 256×256 بكسل و 32 بت ، [ ملاحظات 1 ] بالإضافة إلى دعم تنسيق PNG المضغوط . على الرغم من أن الضغط ليس إلزاميًا، توصي مايكروسوفت بتخزين جميع الأيقونات الملونة بدقة 256×256 بكسل و32 بت في ملفات ICO بتنسيق PNG لتقليل الحجم الإجمالي للملف. يدعم مستكشف Windows Vista تغيير حجم الأيقونات بسلاسة إلى أحجام غير قياسية، حيث يتم عرضها تلقائيًا حتى في حال عدم وجود صورة لهذا الحجم في ملف الأيقونة. كما أضافت واجهة Windows Vista شريط تمرير لتكبير وتصغير أحجام الأيقونات. مع استخدام المستخدمين لدقة عرض أعلى وأنماط DPI عالية، يُنصح باستخدام تنسيقات أيقونات أكبر (مثل 256×256). [ 10 ] [ 11 ]

نوع MIME

على الرغم من أن نوع MIME المسجل لدى IANA لملفات ICO هو ، [ 12 ] فقد تم تقديمه إلى IANA في عام 2003 من قبل طرف ثالث، وهو غير معترف به من قبل برامج مايكروسوفت، التي تستخدم بدلاً منه أو . [ 13 ] [ 14 ] كما لوحظ استخدام أنواع خاطئة أخرى ، مثل و و .image/vnd.microsoft.iconimage/x-iconimage/icoimage/icoimage/icontext/icoapplication/ico

بنية الملفات

يتكون ملف ICO أو CUR من بنية ICONDIR ("دليل الأيقونات")، تحتوي على بنية ICONDIRENTRY لكل صورة في الملف، متبوعة بكتلة متصلة من جميع بيانات الصورة. تُخزَّن كل صورة إما كملف DIB خام (انظر تنسيق Bitmap ) أو كملف PNG كامل (انظر تنسيق PNG ). [ 6 ] من الممارسات الشائعة تخزين بيانات الصورة بنفس ترتيب عناصر دليل الصور.

يتم تمثيل جميع القيم في ملفات ICO/CUR بترتيب البايت الصغير (little-endian ).

بنية ICONDIR

الإزاحة (بايت)مجالالحجم (بايت)وصف
0محجوز2محجوز . يجب أن يكون 0.
2نوع الهوية2نوع الصورة : 1 لصورة ICO، و2 لصورة CUR. القيم الأخرى غير صالحة.
4عدد المعرفات2عدد الصور في الملف.
6إدخالات الهويةعدد المعرفات * 16مصفوفة ICONDIRENTRY . يمثل كل عنصر صورة.

هيكل ICONDIRENTRY

الإزاحة (بايت)مجالالحجم (بايت)وصف
0عرض b1عرض الصورة بالبكسل. يمكن أن يكون أي رقم بين 0 و255. 0 يعني أن العرض 256. [ ملاحظات 1 ]
1ب- الارتفاع1ارتفاع الصورة بالبكسل. يمكن أن يكون أي رقم بين 0 و255. 0 يعني أن الارتفاع هو 256. [ ملاحظات 1 ]
2عدد الألوان1عدد الألوان في لوحة الألوان. بالنسبة لأعماق الألوان: 2 لعمق بت واحد لكل بكسل، و16 لعمق 4 بت لكل بكسل؛ و0 لعمق 8 بت لكل بكسل فأكثر. تؤثر القيمة غير الصحيحة على تقييم اختيار الصور للأيقونات.
3محجوز1محجوز . يجب أن يكون 0.
4طائرات2
  • في صيغة الأيقونة: يحدد مستويات الألوان. يجب أن تكون القيمة 0 أو 1. [ ملاحظات 2 ]
  • في صيغة المؤشر: يحدد الإحداثيات الأفقية للنقطة الساخنة بعدد البكسلات من اليسار. [ ملاحظات 3 ]
6عدد البتات2
  • في صيغة الأيقونة: يحدد عدد البتات لكل بكسل. [ ملاحظات 4 ]
  • في صيغة المؤشر: يحدد الإحداثيات الرأسية للنقطة الساخنة بعدد البكسلات من الأعلى. [ ملاحظات 3 ]
8dwBytesInRes4حجم بيانات الصورة بالبايت.
12dwImageOffset4يحدد إزاحة بيانات DIB أو PNG من بداية ملف ICO/CUR.

تنسيق الصورة النقطية

يتم تخزين إطارات الصور النقطية كبيانات DIB خام ( .bmp ): BITMAPINFOHEADER متبوعًا ببيانات البكسل وقناع AND، بدون BITMAPFILEHEADER الذي يسبق بيانات DIB في ملف .bmp مستقل.

يجب أن يكون الارتفاع المُعلن عنه في BITMAPINFOHEADER ضعف الارتفاع المُعلن عنه في دليل الصورة، لأن بيانات DIB تحتوي على جزأين مُكدسين: صورة ملونة (قناع XOR) متبوعة بقناع AND أحادي البت بنفس الأبعاد. [ 6 ]

بالنسبة لأعماق الألوان المحددة (1، 2، 4، 8 بت لكل بكسل)، يتبع جدول الألوان المكون من 4 بايتات من مدخلات BGRA رأس BITMAPINFOHEADER ؛ أما إطارات الصور النقطية 24 بت و32 بت فلا تحتوي على جدول ألوان. يتم إضافة حشو إلى صفوف البكسل في كلا القناعين ليصبح حجمها من مضاعفات أربعة بايتات.

بالنسبة للإطارات ذات 1 بت لكل بكسل، يحتوي جدول الألوان على مدخلين بالضبط: الفهرس 0 هو الأسود ( #00000000 ) والفهرس 1 هو الأبيض ( #00FFFFFF ).

قناع AND هو بت واحد لكل بكسل بغض النظر عن عمق اللون. القيمة 0 تعني أن البكسل المقابل مرسوم؛ والقيمة 1 تعني أنه شفاف.

تُخزَّن الإطارات ذات 24 بت على شكل ثلاثيات BGR؛ وتُوفَّر الشفافية فقط بواسطة قناع AND، لأن بيانات البكسل لا تحتوي على قناة ألفا. يقبل نظام ويندوز الإطارات ذات 24 بت ويُحوِّلها داخليًا إلى 32 بت لكل بكسل.

تُخزَّن الإطارات ذات 32 بت على شكل مربعات BGRA. تستخدم قنوات الألوان قيمة ألفا مباشرة (غير مضروبة مسبقًا) - حيث تمثل قيم R وG وB قيمًا كاملة الكثافة غير مضروبة في ألفا. عندما تكون جميع بايتات A أصفارًا، يُعامل الإطار على أنه 0RGB معتم تمامًا (مدعوم منذ Windows 9x)؛ وعندما تكون أي بايتات A غير صفرية، يستخدم الإطار تركيب ألفا 8 بت لكل بكسل (مدعوم منذ Windows XP). [ 15 ] يجب أن يُشفِّر قناع AND الشفافية بشكل صحيح، مع ضبط بت القناع على 1 حيثما تكون قيمة ألفا صفرًا. يُعرض القناع الذي تُركت قيمته صفرًا بالكامل بشكل صحيح عند رسم الصورة عبر مزج ألفا، ولكنه يُنتج نتائج خاطئة عند استخدام القناع ذي البت الواحد مباشرةً، مثل العرض أحادي اللون أو تركيب صور السحب وظلال الصور.

يجب أن تستخدم إطارات الصور النقطية في ملفات ICO/CUR رأس BITMAPINFOHEADER القياسي بحجم 40 بايت ( biSize = 40 ). لا يزال برنامج LoadImage يقبل رأس BITMAPCOREHEADER القديم بحجم 12 بايت ( تنسيق OS/2 Presentation Manager 1.2، حيث تكون إدخالات جدول الألوان فيه RGBTRIPLE بحجم 3 بايت بدلاً من RGBQUAD بحجم 4 بايت) ، ولكنه لا يُعرض بواسطة معالج معاينة واجهة المستخدم الرسومية القائم على WIC، حيث تظهر لوحة الصور المصغرة فارغةً لهذه الإطارات. أما تنسيقات الرؤوس الموسعة مثل BITMAPV4HEADER (108 بايت) و BITMAPV5HEADER (124 بايت) فهي غير مقبولة، وستؤدي إلى فشل تحميل الإطار.

في الأصل، كان الهدف من استخدام ICOs وCURs هو عرض الصور على شاشات أحادية اللون، وكانوا يستخدمون الصيغة Output = (Existing AND Mask) XOR Image[ 16 ]. أما على الشاشات الملونة، فيتم تكوين المؤشر باستخدام مزج القنوات، وتُستخدم القناع لتحديد البكسلات التي يتم تضمينها أو استبعادها. في العرض أحادي اللون، يحدد مزيج بتات AND وXOR نوع البكسل.

وقليلبت XORنوع البكسل
10شفاف (بكسل الشاشة لم يتغير)
11معكوس (ألوان بكسلات الشاشة معكوسة)
01أبيض
00أسود

بالنسبة لمؤشرات الألوان والأيقونات، تستخدم خطوة XOR خريطة الألوان بدلاً من قناع البت الواحد؛ يتم ترميز المناطق الشفافة باستخدام AND=1 والمناطق المعتمة باستخدام AND=0، مع تخزين قيمة اللون في خريطة الألوان.

صيغة PNG

تم تقديم دعم إطارات PNG في نظام التشغيل Windows Vista . [ 10 ] إطار PNG هو ملف PNG خام مُضمّن حرفيًا - بدون BITMAPINFOHEADER ، وبدون ارتفاع مضاعف، وبدون قناع AND. يجب أن يكون تنسيق الصورة RGBA 32 بت؛ تنسيقات PNG الأخرى (المُلوّنة، RGB 24 بت، التدرج الرمادي) غير مقبولة وستؤدي إلى فشل تحميل الإطار دون تنبيه. تُؤخذ الأبعاد وعمق اللون مباشرةً من بيانات PNG. [ 10 ] يستخلص Windows قناع AND تلقائيًا من قناة ألفا في PNG، لذلك لا حاجة لتوفير قناع. [ 10 ]

يتعرف نظام التشغيل Windows على إطار PNG من خلال فحص أول ثمانية بايتات من بيانات الصورة بحثًا عن توقيع ملف PNG القياسي ( 89 50 4E 47 0D 0A 1A 0A )؛ ويتم تفسير أي بايتات أخرى في البداية على أنها إطار صورة نقطية مسبوق بـ BITMAPINFOHEADER .

على الرغم من أن مايكروسوفت توصي باستخدام PNG فقط للصور بحجم 256×256 للحفاظ على أحجام الملفات منخفضة، إلا أنه يمكن استخدام PNG بأي حجم مخزن في الملف.

اختيار الصورة

عندما يقوم نظام ويندوز بتحميل ملف ICO أو CUR يحتوي على صور متعددة، فإنه يُقيّم كل صورة مُرشحة ويختار الصورة ذات أقل درجة. وتجمع هذه الدرجة بين عنصر الحجم وعنصر عمق اللون.

widthScore = |عرض المدخل - عرض الهدف| × (2 إذا كان المدخل أضيق من الهدف، وإلا 1) heightScore = |ارتفاع المدخل - ارتفاع الهدف| × (2 إذا كان المدخل أقصر من الهدف، وإلا 1) bppScore = |bpp المدخل − bpp الهدف| × 2 النتيجة الإجمالية = نتيجة العرض + نتيجة الارتفاع + نتيجة كثافة البكسل

تُعاقب الصور الأصغر من الحجم المطلوب بمعامل ضرب ×2. تُعاد النتيجة فورًا في حالة التطابق التام (النتيجة 0). عند تساوي نتيجتين، تُعتمد الصورة ذات عمق اللون الأعلى. تُفسَّر قيمة bWidth أو bHeight التي تساوي 0 في حقل ICONDIRENTRY على أنها 256 لأغراض احتساب النقاط. ولأن هذين الحقلين يتكونان من بايت واحد لكل منهما، فإنهما لا يُمثلان أحجامًا أكبر من 256؛ إذ تعتمد خوارزمية احتساب النقاط على قيم عناصر الدليل فقط، ولا تفحص بيانات الصورة المُضمَّنة.

بالنسبة للأيقونات، يُستمد عمق اللون من bColorCount عندما تكون قيمته غير صفرية: القيم من 1 إلى 3 تُقابل 1 بت لكل بكسل، ومن 4 إلى 7 تُقابل 2 بت لكل بكسل، ومن 8 إلى 15 تُقابل 3 بت لكل بكسل، و16 فأكثر تُقابل 4 بت لكل بكسل. عندما تكون قيمة bColorCount صفرًا، تُستخدم قيمة wBitCount مباشرةً. أما بالنسبة للمؤشرات، فيتم تجاهل bColorCount وتُستخدم قيمة wBitCount دائمًا.

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

الأحجام الافتراضية وتوسيع نطاق DPI

يكشف نظام ويندوز عن الأحجام الاسمية للأيقونات والمؤشرات من خلال دالة Win32 GetSystemMetrics . [ 17 ] تُشير القيمتان SM_CXICON و SM_CYICON إلى حجم الأيقونة الافتراضي (عادةً 32×32 بكسل بدقة 96 نقطة في البوصة)؛ بينما تُشير القيمتان SM_CXSMICON و SM_CYSMICON إلى حجم الأيقونة الصغير (عادةً 16×16 بكسل). أما القيمتان SM_CXCURSOR و SM_CYCURSOR فتُشيران إلى حجم المؤشر الاسمي، والذي يكون عادةً 32×32 بكسل بدقة 96 نقطة في البوصة. تُستخدم هذه القيم كأبعاد افتراضية عند تحميل صورة دون تحديد حجمها صراحةً. [ 18 ]

عند استخدام إعدادات DPI عالية، يطلب نظام ويندوز صورًا أكبر. تكون كل من الأيقونات والمؤشرات مربعة الشكل دائمًا ( SM_CXICON = SM_CYICON ، SM_CXCURSOR = SM_CYCURSOR ). تتناسب أحجام الأيقونات خطيًا مع DPI، بينما تُقرّب أحجام المؤشرات إلى مجموعة ثابتة من خمس خانات منفصلة. عندما لا تتوفر صورة بالحجم المطلوب تمامًا، يطبق ويندوز خوارزمية التقييم المذكورة أعلاه لاختيار أقرب صورة مرشحة وتغيير حجمها إلى الحجم المطلوب.

نطاق DPIنطاق المقياسSM_CXICONSM_CXCURSOR
96–143100%–149%32–47 بكسل32 بكسل
144–191150%–199%48–63 بكسل48 بكسل
192–287200%–299%64–95 بكسل64 بكسل
288–383300%–399%96–127 بكسل96 بكسل
 384 400% 128 بكسل128 بكسل

تعتمد قيم SM_CXCURSOR المذكورة أعلاه على إعداد حجم المؤشر الافتراضي (حجم المؤشر = 1 في إعدادات ويندوز). يقوم شريط تمرير حجم المؤشر بتغيير حجم جميع الخانات الخمس بشكل متناسب: عند حجم المؤشر 2، تتضاعف جميع القيم، وعند الحجم 3، تتضاعف ثلاث مرات، وهكذا. لا تتأثر SM_CXICON بإعداد حجم المؤشر.

موارد الأيقونات والمؤشرات

يتم تنظيم الأيقونات والمؤشرات في ملفات البرامج التنفيذية المحمولة ( EXE أو DLL ) في موارد من النوع RT_GROUP_ICON (14) و RT_GROUP_CURSOR (12) و RT_ICON (3) و RT_CURSOR (1). [ 19 ]

تحتوي موارد RT_GROUP_ICON و RT_GROUP_CURSOR على بنية NEWHEADER واحدة وبنية RESDIR واحدة أو أكثر ، والتي تتشابه تقريبًا في تخطيطها مع ICONDIR و ICONDIRENTRY في ملفات ICO/CUR. ويكمن الاختلاف الرئيسي في أن الحقل الأخير من RESDIR يحمل مُعرّف مورد ثنائي البايت لمورد RT_ICON أو RT_CURSOR المقابل ، بدلاً من إزاحة الملف.

تُعرف هياكل NEWHEADER / RESDIR أيضًا باسم GRPICONDIR / GRPICONDIRENTRY في العديد من المصادر. [ 20 ]

هيكل رأس الصفحة الجديدة

الإزاحة (بايت)مجالالحجم (بايت)الوصف [ 21 ]
0محجوز2محجوز . يجب أن يكون 0.
2ResType2نوع المورد : 1 للأيقونة، 2 للمؤشر. القيم الأخرى غير صالحة.
4إعادة الفرز2عدد هياكل RESDIR التي تلي هذا الهيكل مباشرة.

بنية RESDIR

الإزاحة (بايت)مجالالحجم (بايت)الوصف [ 22 ]
0ريس إنفو4
  • بصيغة الأيقونة ( ICONRESDIR [ 23 ] ):
    • العرض (  بايت واحد) — عرض صورة الأيقونة بالبكسل، 0 يعني 256 [ ملاحظات 1 ]
    • الارتفاع (  بايت واحد) — ارتفاع صورة الأيقونة بالبكسل، 0 يعني 256 [ ملاحظات 1 ]
    • ColorCount (  بايت واحد) — عدد الألوان؛ القيم المقبولة هي 2 و8 و16؛ 0 تعني أن العدد يُستنتج من Planes و BitCount
    • محجوز (  بايت واحد) — يجب أن يكون 0
  • في صيغة المؤشر ( CURSORDIR [ 24 ] ):
    • العرض (2  بايت) — عرض المؤشر بالبكسل، 0 يعني 256 [ ملاحظات 1 ]
    • الارتفاع (  بايتان) - ارتفاع المؤشر بالبكسل، 0 يعني 256 [ ملاحظات 1 ]
4طائرات2ألوان المستويات. يجب أن تكون 0 أو 1. [ ملاحظات 2 ]
6عدد البتات2عدد البتات لكل بكسل. [ ملاحظات 4 ]
8بايت في الدقة4حجم بيانات الصورة بالبايت.
12معرف مؤشر الأيقونة2المعرف الترتيبي لمورد RT_ICON أو RT_CURSOR .

تتمتع موارد RT_ICON و RT_CURSOR بنفس تنسيق بيانات الصور الموجود في ملفات ICO، ويمكنها أيضًا تخزين صور PNG. تحتوي البايتات الأربعة الأولى من مورد RT_CURSOR على نقطة المؤشر كقيمتين من نوع WORD (x, y)؛ [ 25 ] وتشمل قيمة BytesInRes في RESDIR المقابلة هذه البايتات الأربعة (على عكس ملفات CUR، حيث تُخزَّن نقطة المؤشر في بنية ICONDIRENTRY ولا تُحتسب ضمن dwBytesInRes ).

مكتبة الأيقونات

مكتبة الأيقونات هي طريقة لتجميع أيقونات نظام ويندوز. وهي عادةً ملف تنفيذي جديد (New Executable) ذو 16 بت أو ملف تنفيذي محمول (Portable Executable ) ذو 32 بت، بامتداد .ICL، وتحتوي على موارد الأيقونات التي تمثل الأيقونات المُجمّعة. لا يدعم نظام ويندوز فيستا والإصدارات الأحدث عرض الأيقونات من ملفات 16 بت ( الملفات التنفيذية الجديدة ). [ 26 ]

انظر أيضاً

ملحوظات

  1. منذ نظام التشغيل Windows 95 ، كان حجم الصورة في بنية ICONDIRENTRY يُضبط على الصفر، أي 256 بكسل. أما منذ نظام التشغيل Windows Vista، فيُحدد حجم الصورة من بنية BITMAPINFOHEADER أو بيانات صورة PNG ، مما يسمح تقنيًا بتخزين أيقونات بأحجام أكبر من 256 بكسل، إلا أن مايكروسوفت لا تنصح باستخدام هذه الأحجام الكبيرة.
  2. ١ ٢ يتم التعامل مع ضبط مستويات الألوان على ٠ أو ١ بشكل متساوٍ من قِبل نظام التشغيل، ولكن إذا تم ضبط مستويات الألوان على قيمة أعلى من ١، فيجب ضرب هذه القيمة بعدد البتات لكل بكسل لتحديد عمق اللون النهائي للصورة. من غير المعروف ما إذا كانت إصدارات نظام التشغيل ويندوز المختلفة قادرة على التعامل مع قيم مستويات الألوان المختلفة.
  3. 1 2 " دعم أيقونات ومؤشرات ويندوز إكس بي" . مايكروسوفت. 18 نوفمبر 2005. مؤرشف من الأصل في 30 يونيو 2011. تم الاطلاع عليه في 3 يوليو 2023. يتم تحميل المؤشر بشكل صحيح بغض النظر عن عمق اللون الذي صُمم به. ومع ذلك، لا يستطيع النظام التمييز بين عدة مؤشرات في نفس ملف المؤشر أو المورد تختلف فقط في عمق ألوانها. أما الأيقونات، فتدعم بشكل كامل عدة مؤشرات بألوان مختلفة.
  4. ١ ٢ قد تُضبط قيمة البتات لكل بكسل على الصفر، ولكن يمكن استنتاجها من البيانات الأخرى؛ تحديدًا، إذا لم تكن الصورة النقطية مضغوطة بصيغة PNG، فيمكن حساب البتات لكل بكسل بناءً على طول بيانات الصورة النقطية نسبةً إلى حجم الصورة. أما إذا كانت الصورة النقطية مضغوطة بصيغة PNG، فتُخزَّن البتات لكل بكسل ضمن بيانات PNG. من غير المعروف ما إذا كانت إصدارات نظام التشغيل Windows المختلفة تحتوي على منطق لاستنتاج عمق البت لجميع الاحتمالات في حال ضبط هذه القيمة على الصفر.

مراجع

  1. "معيار استنشاق MIME" . WHATWG. 17 يناير 2014. مؤرشف من الأصل في 27 مارس 2014. تم الاطلاع عليه في 18 أبريل 2014 .
  2. "تنسيق ملف CUR" . Aspose . تم الاطلاع عليه بتاريخ 12 يوليو 2026. باختصار، ملفات CUR هي صور ثابتة تشبه ملفات ICO (أيقونة) ولكن بامتدادات مختلفة. يعتمد كلا التنسيقين على مواصفات الصورة النقطية المستقلة عن الجهاز (DIB).
  3. "وحدة واجهة المستخدم الأساسية CSS المستوى 3 (CSS3 UI)" . W3C . تم الاطلاع عليه بتاريخ 12 يوليو 2026. في وقت كتابة هذه المواصفة (ربيع 2015)، كانت صيغتا الملفات .ico و .cur هما الصيغتان الوحيدتان المدعومتان للمؤشرات في متصفحات سطح المكتب الشائعة، وفقًا لتصميم مايكروسوفت. ولضمان التوافق مع المحتوى القديم، يُنصح وكلاء المستخدم بدعم هاتين الصيغتين، على الرغم من أن عدم وجود مواصفة مفتوحة يجعل من المستحيل وضع متطلبات معيارية بشأنهما.
  4. "مؤشر مخصص: ملف .cur فارغ يُعرض كصندوق أسود" . متتبع مشاكل كروميوم . 3 يناير 2010. تاريخ الاسترجاع: 12 يوليو 2026. من المستحيل ببساطة القيام بذلك مع ملفات .cur في كروم - تظهر وحدات البكسل المعكوسة كشفافة.
  5. فيكيت، جيورجي (11 مارس 2009). "تصميم واجهة نظام التشغيل بين عامي 1981 و2009" . موقع ويب ديزاينر ديبوت . تم الاطلاع عليه في 6 يونيو 2011 .
  6. 1 2 3 4 5 هورنيك، جون (29 سبتمبر 1995). "الأيقونات" . مقالات تقنية حول واجهة مستخدم ويندوز ( MSDN ) . شركة مايكروسوفت . تم الاطلاع عليه في 5 يونيو 2011 .
  7. "مكونات بنية ويندوز 95" . مايكروسوفت تك نت . شركة مايكروسوفت . تم الاطلاع عليه في 6 يونيو 2011 .
  8. "رمز Shell BPP" . مرجع سجل نظام التشغيل Windows 2000. شركة مايكروسوفت . تم الاطلاع عليه في 6 يونيو 2011 .
  9. "إنشاء أيقونات ويندوز إكس بي" . مقالات تقنية حول ويندوز إكس بي (MSDN) . شركة مايكروسوفت. يوليو 2001. تاريخ الاسترجاع: 27 نوفمبر 2022 .
  10. 1 2 3 4 تشين، ريموند (22 أكتوبر 2010). "تطور تنسيق ملف ICO، الجزء 4: صور PNG" . The Old New Thing . تاريخ الاسترجاع: 27 نوفمبر 2022 .
  11. "الأيقونات (أساسيات التصميم) - تطبيقات Win32" . مايكروسوفت ليرن . 9 فبراير 2021. يبلغ الحد الأقصى لحجم الأيقونات 256×256 بكسل، مما يجعلها مناسبة لشاشات العرض عالية الدقة (نقاط في البوصة). تتيح هذه الأيقونات عالية الدقة جودة عرض عالية في قوائم العرض التي تحتوي على أيقونات كبيرة... يجب تضمين نسخة 32 بت فقط من الصورة بحجم 256×256 بكسل، ويجب ضغط الصورة بحجم 256×256 بكسل فقط لتقليل حجم الملف.
  12. بوتشر، سيمون (3 سبتمبر 2003). "image/vnd.microsoft.icon" . هيئة الأرقام المخصصة للإنترنت (IANA ). تم الاطلاع عليه في 3 يناير 2014 .
  13. لورانس، إريك (11 فبراير 2011). "قائمة التغييرات الطفيفة في الإصدار التجريبي من IE9" . IEInternals . مدونات MSDN . تم الاطلاع عليه في 20 أغسطس 2016. نستخدم "image/x-icon" لأنه نوع MIME الذي اعتدنا استخدامه. اقترح أحدهم في وقت ما (على حد علمي، ليس له علاقة بمايكروسوفت) تسجيل نوع MIME باسم "vnd.microsoft.icon"، لكن نظام ويندوز لا يستخدمه فعليًا، بل يستخدم image/x-icon.انظر التعليق الثاني.
  14. "نظرة عامة على تنسيق ICO لمكون تصوير ويندوز" . مايكروسوفت ليرن .
  15. تشين، ريموند (21 أكتوبر 2010). "تطور تنسيق ملف ICO، الجزء 3: الصور المدمجة ألفا" . الشيء القديم الجديد . تم الاسترجاع في 27 نوفمبر 2022 .
  16. ^ هيكل ، بول (1992). "فضح أساطير براءات اختراع البرمجيات" . معهد ماساتشوستس للتكنولوجيا CSAIL .
  17. "دالة GetSystemMetrics" . Microsoft Learn .
  18. تشين، ريموند (19 أغسطس 2021). "ما هي قصة مقياس النظام SM_CXCURSOR؟" . الشيء الجديد القديم .
  19. "تنسيقات ملفات الموارد - تطبيقات Win32" . مايكروسوفت ليرن . 19 أغسطس 2020. تاريخ الاسترجاع: 22 مايو 2023 .
  20. تشين، ريموند (20 يوليو 2012). "تنسيق موارد الأيقونات" . ذا أولد نيو ثينغ . تم الاسترجاع في 20 مايو 2023 .
  21. "بنية رأس الصفحة الجديدة" . مايكروسوفت ليرن . مايكروسوفت.
  22. "بنية RESDIR" . مايكروسوفت ليرن . مايكروسوفت.
  23. "بنية ICONRESDIR" . مايكروسوفت ليرن . مايكروسوفت.
  24. "بنية CURSORDIR" . مايكروسوفت ليرن . مايكروسوفت.
  25. "بنية LOCALHEADER - تطبيقات Win32" . مايكروسوفت ليرن . 11 ديسمبر 2020. تاريخ الاسترجاع: 22 مايو 2023 .
  26. تشين، ريموند (مايو 2008). "أسرار ويندوز - أيقونات 16 بت أصبحت قديمة الطراز" . مجلة تيك نت . تم الاطلاع عليه في 27 نوفمبر 2022 .