• 0
faisal_01

عند فتح ملف أي صوره هناك نص فريد يفرق بين رأس الصوره وبين بنيتها ماهو هذا النص الفريد بالباينري؟

سؤال

السلام عليكم ورحمة الله وبركته 

عند فتح ملف أي صوره هناك نص فريد يفرق بين رأس الصوره وبين بنيتها ماهو هذا النص الفريد بالباينري(01) لأنواع الصور jpg , png , وغيرها؟

تم تعديل بواسطه faisal_01
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

6 إجابة على هذا السؤال .

  • 0

بحثت ولم أفهم هل بالامكان شرح الترتيب بالعربي ليكون مرجع لجميع زوار المنتدى 

بحسب ما أعرف أن للصوره هيدر تخزن فيه بيانات الصوره

وبعد الهيدر يبدأ جسم الصوره RGB ولكن لا أعلم متى تبدأ لانني لا أعلم العلامة الفارقة بين الهدر والجسم ومعلوم أن اللون الواحد مجزئ إلى 3 ألوان كل لون 8 بت أي 1 بايت أحمر 1بايت أخضر 1بايت أزرق ورغم ذلك لم أفهم طريقة الترتيب لكي أقوم بفك الشفره والتعامل معها مباشره بدون استخدام مكتبات جاهزه فهلا أفهمني أحد؟

تم تعديل بواسطه faisal_01
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تفضل أخي الكريم الرابط التالي، فيه شرح لتركيبة ملفات .bmp بالتفصيل، أما بالنسبة لباقي الأنواع، فلكل نوع تركيب خاص به عليك القراءة عنه بشكل مستقل.

بالتوفيق

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله بكم وشكراً لاهتمامكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
On ٢٢‏/٥‏/٢٠١٦ at 11:53 AM, faisal_01 said:

وبعد الهيدر يبدأ جسم الصوره RGB ولكن لا أعلم متى تبدأ لانني لا أعلم العلامة الفارقة بين الهدر والجسم ومعلوم أن اللون الواحد مجزئ إلى 3 ألوان كل لون 8 بت أي 1 بايت أحمر 1بايت أخضر 1بايت أزرق ورغم ذلك لم أفهم طريقة الترتيب لكي أقوم بفك الشفره والتعامل معها مباشره بدون استخدام مكتبات جاهزه فهلا أفهمني أحد؟

صيغ الملفات المشهورة مثل png و jpeg معقدة ولاتخزن البكسلات بتلك البساطة، معظم تلك الصيغ مضغوطة وتستخدم طرق مثل الـindexing لتقليل الحجم، لو قررت أن تكتب decoder يحولها الصورة إلى مصفوفة بكسلات، ستجد أن جزئية تحميل الصورة ستتجاوز حجم برنامجك، هناك مكتبات جاهزة ومجانية حتى للمشاريع التجارية مثل libpng و libjpeg يمكنك استخدامها.

إذا كان مشروعك بسيط كمشروع مادة، فالأسهل لك أن تستخدم صيغة بسيطة مثل PBM، صيغة صور نصية وسهل التعامل معها، لن تكلفك أكثر من 20 سطر لتحميل الصورة، لكن لاتدعم كل البرامج التحويل لها، أظن أن gimp يدعمها.

P1
# Comment
4 2
1 0 0 0
0 1 1 0


إذا بدأت بـP1، فهي صورة 1-bit، الأبيض 1 وأسود 0، في السطر الثاني (سطر # تعليق) يمثل العدد الأول عدد الأعمدة والعدد الثاني عدد الأسطر، والأسطر الباقية بيانات البكسل (اضربها في 255 إذا أردت جعلها بين 0-255)، وإذا كان برنامجك يستخدم RGB، فكرر القيمة بعد الضرب 3 مرات (أي الأبيض R=255,G=255,B=255 والأسود R=0,G=0,B=0).

إذا بدأت بـP2 فهي صورة رمادية، السطر الثالث في مثال الويكي يمثل أعلى قيمة للون، لتحويل اللون إلى لون في المدى 0-255 فاقسم اللون على أعلى قيمة واضربه في 255، مثلاً لو كانت أعلى قيمة 15 وكانت قيمة البكسل 7 فسيصبح:

int(7/15 * 255) = 119


إذا بدأت الصورة بـP3 فهي مثل P2 إلا أن البكسل الواحد سيأخذ 3 أرقام لمركبات الـRGB (صورة ملونة).

انتبه أن نهايات الأسطر ليس لها أهمية سوى أنها تحدد نهايات أسطر التعليقات فقط، يمكنك ازالتها وكتابة الصورة على سطر كما في المثال الأخير في الويكي.

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الله يبارك فيكم أضفتم لدي معلومات ستفيدني حتماً 

جاي على بالي أخي Mr.B أقوم بالتالي أفتح ملف صوره (ملونه) في دالة فايل أوبن قرائة باينري ثم أقوم بتمثيل كل 3 بايت على لوح يستوعب كل بيانات (ملف) الصوره وذلك بمعرفة حجم الصوره بالبايت وقسمته على 3 سيظهر لي كم بيكسل أحتاج في اللوح وبعد رصف الألوان على اللوح إن كانت مشفره بطريقه غير لن تظهر صورتي وإن نجحت سيظهر مقطع الصوره على اللوح مدموج بألوان أخرى وبمعرفة محور بداية صورتي(x‘y) قد أستدل على الجملة الفارقه عليَّ تكرار العملية مع أستبعاد أول بايت وثاني بايت من أجل التقديم والتأخير وإن نجحت الفكره سأضعها في شرح مفصل وشكراً للتعاون.

تم تعديل بواسطه faisal_01
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .