ودا لينك التويت، هتلاقوا فيها الصورة موجودة (محدش يجربها فعلًا يا جماعة، الموضوع مش هزار رغم انه شكله مش منطقي، تابع باقي الثريد وهتعرف ليه دا بيحصل)
أنا أول ما شوفت التويت دي وبحكم تعاملي المستمر مع ال file systems فقلت دا مستحيل، دا أكيد فتي، لكني فوجئت بعدد من التويتس لناس بتقول انها حطيتها ك wallpaper والموبايل باظ فعلًا.
هتلاقوا عدد من الناس بيتكلم عن الموضوع دا في الريبلايز على التويت الأصلية.
هتلاقوا عدد من الناس بيتكلم عن الموضوع دا في الريبلايز على التويت الأصلية.
ناس كتير موبايلاتها دخلت في بوت لوب، و سوفت واقع، ومش بس سامسونج، فيه موبايلات جوجل بيكسل كمان، زي دي
الكمبيوتر (والموبايل) مبيعرفوش يخزنوا غير أرقام بس، فبالتالي البيكسل لازم يتم تحويله لصيغة رقمية عشان يتم تخزينه والتعامل معاه.
فبالتالي كل بيكسل بيخزن ٣ أرقام أساسية تدل عليه.
قيمة بتدل على مقدار اللون الأحمر في البيكسل دي، وقيمة بتدل على مقدار اللون الأخضر، وقيمة للون الأزرق.
فبالتالي كل بيكسل بيخزن ٣ أرقام أساسية تدل عليه.
قيمة بتدل على مقدار اللون الأحمر في البيكسل دي، وقيمة بتدل على مقدار اللون الأخضر، وقيمة للون الأزرق.
المهم كدة عرفنا إننا عشان نخزن بيكسل فاحنا محتاجين نعبر عنها ب ٣ أرقام، رقم للأحمر، رقم للأخضر، رقم للأزرق.
للأسف فيه كمان رقمين تاني بيدخلوا في التعبير عن البيكسل وهما
جاما: درجة شفافية اللون
إلومينانت: درجة سطوع اللون.
للأسف فيه كمان رقمين تاني بيدخلوا في التعبير عن البيكسل وهما
جاما: درجة شفافية اللون
إلومينانت: درجة سطوع اللون.
كدة فهمنا إننا عشان نعبر عن أي بيكسل لازمنا ٥ أرقام، صح؟ تمام
الصورة مكونة من عدد من البيكسلات، كل بيكسل منهم مكونة من عدّة أرقام، الرقم الواحد فيهم بتتراوح قيمته من 0 ل 255 ومينفعش يتخطى 255 أبدًا أبدًا أبدًا، نهائي، خالص، أبدًا
بس ليه؟
الصورة مكونة من عدد من البيكسلات، كل بيكسل منهم مكونة من عدّة أرقام، الرقم الواحد فيهم بتتراوح قيمته من 0 ل 255 ومينفعش يتخطى 255 أبدًا أبدًا أبدًا، نهائي، خالص، أبدًا
بس ليه؟
نروح بقى لقصة تانية خالص، عملية التخزين في الكمبيوتر بتتم عن طريق تحويل أي رقم لنظام اسمه ال binary system ودا عبارة عن نظام رقمي بيتعامل مع ال 0 و ال 1 فقط.
فأي رقم الكمبيوتر عايز يخزنه بيحوله لصيغة ال 0 و ال1 دي بعدين يخزنه
مثال: 13 تتخرن كدة 1101
فأي رقم الكمبيوتر عايز يخزنه بيحوله لصيغة ال 0 و ال1 دي بعدين يخزنه
مثال: 13 تتخرن كدة 1101
عملية التخزين فيزيائيًا بقى بتم في مكان اسمه ال RAM ودا اللي بنسمع عنه لما نقول ان الموبايل دا مثلا فيه رام ٤ جيجا، الرام دي وحدة التخزين المؤقت للكمبيوتر اللي بيخزن فيها البيانات اثناء اجراء العمليات عليها.
كل 8 bits جنب بعض خدوهم وقفلوا عليهم في درج واحد وسموهم byte وال byte دا بقى وحدة قياس المساحة، يعني لما أقول ان الرام ٢ جيجا بايت فدا معناه اني ممكن اخزن جواها ٢ مليار بايت.
يعني ٢ مليار رقم ثنائي كل رقم منهم مكون من "٨ خانات"
يعني ٢ مليار رقم ثنائي كل رقم منهم مكون من "٨ خانات"
طيب البايت دا أكبر رقم يقدر يخزنه كام؟ ٢٥٥، ودا السبب ان البيكسلز بتتمثل بأرقام لا تتخطى ٢٥٥، لأن كل رقم منهم مسموحله بbyte واحد بس.
الصورة اللي بنتكلم عليها اللي بتبوظ الموبايلات دي، ال color profile بتاعها proPhotoRGB ودا نمط مختلف، بالتالي لما انت بتحط الصورة دي باكجراوند، موبايلك تلقائيًا بيبدأ يحولها ل sRGB
في عملية التحويل دي، الموبايل بيجيب رقم مناظر لكل رقم من ال٥ أرقام المكونين لل pixel اللي هما ال R,G,B,Gamma,Illuminant لحد هنا مفيش أي مشكلة.
طيب احنا قلنا ان أهم حاجة الرقم ميتخطاش ٢٥٥، يبقى ايه المشكلة؟
المشكلة يا سيدي كانت في موبايلات سامسونج انها اثناء حساب المعادلة دي بيحصل عندها حاجة اسمها rounding error ودا معناه ان الرقم بيزيد أو بيقل بقيمة معينة نتيجة لخطأ في عملية التقريب، عشان يتحول من كسر لرقم صحيح.
المشكلة يا سيدي كانت في موبايلات سامسونج انها اثناء حساب المعادلة دي بيحصل عندها حاجة اسمها rounding error ودا معناه ان الرقم بيزيد أو بيقل بقيمة معينة نتيجة لخطأ في عملية التقريب، عشان يتحول من كسر لرقم صحيح.
الخطأ في عملية التقريب اللي كان بيحصل دا أدى إلى أن الرقم يكبر بمقدار واحد صحيح، مجرد واحد صحيح، ويتحول ل 256. وهنا المشكلة
تخيل انك بتحاول تحشر حاجة في مكان مش قدها، دا اللي الموبايل بالظبط بيحاول يعمله، بيحاول يحط رقم قيمته 256 في مكان مبيستحملش اكتر من 255
تخيل انك بتحاول تحشر حاجة في مكان مش قدها، دا اللي الموبايل بالظبط بيحاول يعمله، بيحاول يحط رقم قيمته 256 في مكان مبيستحملش اكتر من 255
فبتحصل حاجة معروفة اسمها overflow، بيترتب عليها إن الموبايل بيrestart نفسه عشان يتجنب المشكلة اللي حصلت في الميموري، بس الموبايل أول ما بيشتغل بيحمّل ايه؟ الباكجراوند، فيدخل في نفس المعضلة دي تاني. إلخ إلخ ألخ.
الحكمة من الموضوع: اللي كتب الأكواد بتاعت تحويل الصورة من ProPhotoRGB ل sRGB هما من أكبر عتاولة البرمجة في العالم حاليًا، رغم ذلك، صورة واحدة بس، قدرت توقع السيستم بتاعهم كله من غير قصد. مفيش حد كبير على البرمجة.
دائمًا هناك استثناء.
دائمًا هناك استثناء.
جاري تحميل الاقتراحات...