الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

بريمج: صانع الصور .. نسق جديد للصور

مغلق
بدأه Abdullah.Alshammeri في 22 يونيو 2006 · 42 رد · 5,860 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#26
اقتباس
بارك الله فيك .. والله يسامح العشرين شخص اللي حملوا المرفقات وتفرجوا على التطبيق ثم لاحس ولاخبر .

بالفعل لااعرف لماذا هذا الموضوع لم يحظ بإي اهتمام ربما كان مجرد مضيعة للوقت في نظر البعض !!

اقتباس
أنا لا املك جهاز في البيت حاليا .. لذلك لا استطيع عمل التجاب اللازمة .

خذ وقتك وانا في انتظارك عندما تسمح ضروفك

لن اتوقف عن العمل ولكن حالياً ربما اكون مجبر على التوقف عن العمل بسبب الحالة الصحية (( دعواتكم لي بالشفاء ))

كنت اريد ان اكتب بعض المعلومات عن ملفات BMP كما ذكرت سابقاً (( ولكن ضروفي لم تسمح بذلك))

لعل ذلك يكون مرجع عربي لكل باحث في هذا المجال ولكل من يريد اكمال خطى سابقة

اقتباس
ولكن أتمنى أن تحاول تطوير الكود ليقوم بالحصول على الPALETTE ( الالوان التي تستخدمها الصورة) ..

وأنا متى ما رجع إلي جهازي سأقوم باضافة التجارب ان شاء الله

سأفعل ذلك بأذن الله وآمل ان لايخونني الوقت بذلك

ولكن هناك نقطة احببت ان اذكرها لك وهي ان Color Palette لاتوجد الا في النوع 8 بت ( 265 لون ) او مادون منها ( 4بت او 1 بت ) فقط

تعود ذلك لامور تقنية سنتطرق اليها لاحقاً في حين مااتكلم عن تركيبة ملفات BMP بإذن الله

نتمنى لك التوفيق دائماً

تحياتي surini

#27
اقتباس
بالفعل لااعرف لماذا هذا الموضوع لم يحظ بإي اهتمام ربما كان مجرد مضيعة للوقت في نظر البعض !!

ليس مضيعة للوقت لكن لكلٌ مشاغله وأبحاثه التي قد تختلف عن الآخرين ..

لماذا لا تطلع على TBitmap Class في Graphics.pas ستجد طريقة أكثر تنظيماً لقراءة معلومات الـ BMP قد تساعدك في تطوير الكود وتحسينه ..

ليس بالضرورة أن تبدأ كل شئ من الصفر بإمكانك الإستعانه بأجزاء من ذلك الكود..

في الكود الذي كتبته لا يمكن المشاركة بين البرامج لقراءة نفس الملف ...

تم تعديل هذه المشاركة بواسطة cipher في 5 سبتمبر 2006 في 12:14

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#28

مرحباً بك اخي cipher

وحقيقة يشرفني وجودك معنا في هذا الموضوع

اقتباس
ليس مضيعة للوقت لكن لكلٌ مشاغله وأبحاثه التي قد تختلف عن الآخرين ..

كلام جميل ... ولكن كل مااريده هو ان يتفضل علينا كل شخص برأيه وتجربته وخاصة من يقوم بالاطلاع على البرمجيات المطروحة

فكما يقال " اليد الوحدة ماتصفق " :D ، كما انوه ان الأنتقاد افضل لدي من المديح لانه النقد هو ماسيفيدنا في التطوير لحل المشكلة

اقتباس
لماذا لا تطلع على TBitmap Class في Graphics.pas ستجد طريقة أكثر تنظيماً لقراءة معلومات الـ BMP قد تساعدك في تطوير الكود وتحسينه ..

ليس بالضرورة أن تبدأ كل شئ من الصفر بإمكانك الإستعانه بأجزاء من ذلك الكود..

شكراً على هذا التنبية ولكن اعتمدت عدم رجوعي لاي كود سابق او كود جاهر ، ربما كان ذلك يعود لبعض الفلسفة الشخصية :D

سأطلع بأذن الله على ذلك الكود في وقت لاحق ، خاصة عندما اكود استطعت فهم تعقيد BMP بشكل كامل

بحيث تكون خطواتي التالية هي سرعة التعامل مع البيانات ورسم الصورة

وبأعتقادي ان هناك متكتبات افضل بكثير من TBitmap بسبب محدوديتها بعض الشيء على سبيل المثال مكتبة devIL

اقتباس
في الكود الذي كتبته لا يمكن المشاركة بين البرامج لقراءة نفس الملف ...

ذلك بسبب استخدامي لمنهجية fmOpenRead ولو استبدلتها بـ fmShareDenyRead لتمت المشاركة ;)

(( اعتقد انك اعلم مني في هذه الأمور ))

اشكرك على على هذه الاطلاله نتمنى ان لاتحرمنا منها في المرات المقبلة

تحياتي surini

#29
اقتباس
ذلك بسبب استخدامي لمنهجية fmOpenRead ولو استبدلتها بـ fmShareDenyRead لتمت المشاركة

أعلم أنك استخدمت fmOpenRead ولكن ما لسبب لذلك؟!

اقتباس
شكراً على هذا التنبية ولكن اعتمدت عدم رجوعي لاي كود سابق او كود جاهر ، ربما كان ذلك يعود لبعض الفلسفة الشخصية

لكن أنت تعتمد على PaintBox لرسم الصورة :P

for h:=strtoint(ValueListEditor1.Strings.Values['Height Picture']) downto 1 do
for w:=1 to strtoint(ValueListEditor1.Strings.Values['Width Picture']) do
paintbox1.Canvas.Pixels[w,h]:=img[w,h];

لاحظ أن TBitmap يحوي ScanLine واستخدامه أسرع .

قد يفيد هذا

http://www.efg2.com/Lab/ImageProcessing/index.html

http://www.efg2.com/Lab/ImageProcessing/Scanline.htm

شئ أخر : انت لا تقوم بـ free لـ TFileStream الذي إستخدمته لقراءة معلومات الملف .

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#30
اقتباس
أعلم أنك استخدمت fmOpenRead ولكن ما لسبب لذلك؟!

حقيقة ليس هناك سبب في عينة ، ولكن ربما اقول لك هو الاستعجال :D

واعتقد اني في موضع سابق ذكرت :

اقتباس
ربما لايكون البرنامجين خالين من الأخطاء وذلك لانني من لحظات انتهيت من بنائهم
اقتباس
لكن أنت تعتمد على PaintBox لرسم الصورة

ولماذا استخدم اذن VCL :D

من اجل توضيح الصورة بشكل افضل ، لاني اعتقد انك فهمتني بشكل خاطي في ردي السابق

مااقصده من عدم رجوعي هو في حين تحديد هدف معين فأنا احاول قدر الامكان لااعود لمنافسية في اول خطواتي

بل احاول قدر الامكان تطبيق افكاري او المعلومات التي احصل عليها من المراجع المختلفة ( اذا وجدت ) :D

بحيث ان هدفي من البرنامج السابق هو قراءة ملفات BMP وليس رسم الصور :D

اقتباس
لاحظ أن TBitmap يحوي ScanLine واستخدامه أسرع .

قد يفيد هذا

http://www.efg2.com/Lab/ImageProcessing/index.html

http://www.efg2.com/Lab/ImageProcessing/Scanline.htm

اشكرك من كل اعماقي على هذه المعلومات ، بالفعل هذا هو مااحتاجة

اقتباس
شئ أخر : انت لا تقوم بـ free لـ TFileStream الذي إستخدمته لقراءة معلومات الملف .

اشكرك ايضاً على هذا التنبية

تحياتي surini

#31

أعلم أنك أشرت إلى إمكانية وجود أخطاء وما قمت به فقط محاولة تنبيهك لبعض الأمور في البرنامج .. معلش فضولي :P

وإن كنا حنزعل فبلاش أتكلم :D (أمزح معاك)

عموماً حين أجد وقت و يكون المزاج رايق لقراءة الموضوع والأكواد التي وضعت قد أضع مشاركات قادمة ....

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#32

انا سويت مثال يستورد PALETTE من صور ذات 256 لون ...

لكن النتائج غريبة .( سأضع المثال لاحقا بعد التعديلات ) .

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

واحيانا تخرج الوان لم تستخدمها الصورة ... مثلا صورة لونها اسود ... يكون PALETTE لها عبارة عن 256 لون مختلف .

السؤال هل الpalette لهذه الصور هو فقط الالوان المستخدمة في الصورة او الالوان الـ256 الاساسية .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#33

الأخ cipher

اقتباس
أعلم أنك أشرت إلى إمكانية وجود أخطاء وما قمت به فقط محاولة تنبيهك لبعض الأمور في البرنامج .. معلش فضولي
اقتباس
كما انوه ان الأنتقاد افضل لدي من المديح لانه النقد هو ماسيفيدنا في التطوير لحل المشكلة
اقتباس
وإن كنا حنزعل فبلاش أتكلم teeth_smile.gif (أمزح معاك)

بالنسبة لي فأنا مسرور بالحديث معك

ولكن لااعرف اذا كنت انت الي بتزعل :unsure:

اقتباس
عموماً حين أجد وقت و يكون المزاج رايق لقراءة الموضوع والأكواد التي وضعت قد أضع مشاركات قادمة ....

بإنتظارك

الأخ الشمري

اقتباس
السؤال هل الpalette لهذه الصور هو فقط الالوان المستخدمة في الصورة او الالوان الـ256 الاساسية .

حسب مااعرف ففي حين تكون الصورة من نوع 8 بت واستخدمت فيها لونين ولنقل انهم الابيض والاسود

فسيتم حفظ الـ Palette Color على 265 لون وهي درجات الالوان مابين الأبيض والأسود ( درجات الرمادي )

وفي انتظار برنامجك القادم

تحياتي surini

#34

المثال بالمرفقات ..وهو يعتمد على مكتبة DevIL .. يعني اذا اردت ترجمة الكود فتحتاج للمكتبة DevIL

أما التطبيق فأضفت معه مكتبات dll المهمة .

--

الاستنتاجات :

بعض الصور الpalette التابع لها يحتوي فقط على الالوان التي استخدمتها الصورة ..

مثل الصورة gametutorials المرفقة مع البرنامج .. علما اني اخذت هذه الصورة من احد المواقع .

وبعض الصور الpalette التابع لها مشابه لحد كبير ( إن لم يكن مطابق) للpalette الخاص بالsystem .. والذي ستحصل عليه لو استخدمت الدالة GetSystemPaletteEntries ..وهي من دوال Win32 API .

أنا لا اعلم سبب الاختلاف .. هل بسبب برنامج الرسام الذي أنشأت منه صور ال256 لون . ؟؟

لم اجرب الفوتوشوب .. ممكن يكون هذا السبب !!!! .

على العموم المحاولة بالمرفقات ..

وبقي لي محاولة واحدة :) .. الدمج بين AT2 و AT3 لينتج AT2.5 :D .. سأحاول .

image_palette___256_colors.zip

تم تعديل هذه المشاركة بواسطة الشمري في 8 سبتمبر 2006 في 22:07

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#35

استطعت اخيراً فتح البرنامج :rolleyes:

كان في كل مرة يعطيني رسالة خطأ مفادها هو عدم القدرة على التشغيل دون وجود ملفات ال DLL

كنت اقراها بعجلة والشيء الذي كان يحيرني هو كيف يقول البرنامج ان ملفات DLL غير موجوده وانا اجدها ضمن الملف ؟؟؟!!! :wacko:

في المرة الأخيرة قمت بقراءة رسالة الخطأ بتأني واكتشفت ان الملفات المطلوبة فيها اختلاف في التسمية عن الملفات الموجودة

حيث في الملفات المرفقة مع البرنامج مضاف اليها " -D " قمت بإزالتها واشتغل البرنامج

عموماً بعد تجربة البرنامج

اكتشفت وجود خطأ حيث يعطي دائماً ان عدد الألوان 256 وهي ليست كذلك

كما انه لايعرض الألوان الصحيحية او الفعلية الموجودة ضمن الصورة

تحياتي surini

#36

بعد فترة ركود ;)

عدنا لنقدم طرحاً جديداً في هذا الموضوع

قبل قليل وضعت اللمسات الأخيرة على البرنامج ATBrowser ( الاصدار Beta )

هذا البرنامج يقوم بفتح الصورة bmp من النوع 8 بت

ركزت بعض الشيء في سرعة فتح الصورة >> توجيهات الاستاذ cipher

كما يقوم البرنامج بعرض لوح الألوان الخاص بكل صورة

المهمة الاساسية للبرنامج هي تحويل الصورة من bmp الى at3 مباشرة دون قراءة البيكسل من الشاشة

(( هذه من توجيهات الاخ الشمري ))

العملية اصبحت جداً سريعة

كما يقوم البرنامج ايضاً فتح الصورة من النوع at3

ملاحظة : هناك تعديل بسيط على بنية ملفات at3 حيث قمت بتعديل تخزين الطول والعرض للصورة

فلن تستطيع فتح الصور at3 الناتجة من البرنامج السابق

عموماً البرنامج موجود ضمن المرفقات مع السورس كود

وانا انتظر منكم آرائكم واقتراحاتكم

تحياتي surini

ATBrowser.rar

تم تعديل هذه المشاركة بواسطة surini في 13 سبتمبر 2006 في 18:53

#37

هأنذا مرة أخرى :D (مزعج!)

بعد تجربة البرنامج لاحظت شيئين

1) عند فتح Prairie Wind.bmp الموجودة في مجلد windows ستظهر الصورة بشكل غير صحيح

2) عند فتح winnt256.bmp تظهر رسالة خطأ محتواها :

اقتباس
Access viloation at address 00459336 in module'Project1.exe' . Read of address 00000000

حل المشكلة الأولى بتعديل الكود هنا

لا أعلم لماذا تعمل rotate ؟

r:=rotate(inttostr(inf.Width));

الى

r:=0;

سأحاول البحث عن سبب المشكلة الثانية ..

لاحظت أن حجم الملف المتكون اقل من bmp بقليل مثلاً 64.4KB الملف المتكون 64.2KB

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#38
اقتباس
هأنذا مرة أخرى teeth_smile.gif (مزعج!)

بعد تجربة البرنامج لاحظت شيئين

1) عند فتح Prairie Wind.bmp الموجودة في مجلد windows ستظهر الصورة بشكل غير صحيح

2) عند فتح winnt256.bmp تظهر رسالة خطأ محتواها :

بالفعل ماذكرته صحيح ، قمت بتجربته قبل قليل بعدما انبأتني بذلك

اقتباس
حل المشكلة الأولى بتعديل الكود هنا

لا أعلم لماذا تعمل rotate ؟

تخزين الصورة في Data Bitmap فيه بعد التعقيد البسيط

حيث انه يتم تدوير بعض الصور حسب عرض الصور - width

قمت انا بإجراء بعض التجارب لمعرفة خوارزمية التدوير

توصلت لحل وقمت بكتابته على شكل تعليمة وهي

function rotate(s:string):integer;
var
c:char;
i,value:integer;
function under4(value:integer):integer;
begin
while value>=4 do
value:=value-4;
result:=value;
end;
begin
value:=0;
for i:=2 to length(s) do begin
c:=s;
value:=value+(under4(strtoint(c)*i));
end;
result:=value;
end;

طبعاً الحل كان ناجح 100 % بالنسبة للصور التي اجريت عليها التجارب

ولكن لم اكتشف الثغره في الصورة التي نبهتني عليها

لمعرفة فائدة rotate قم بفتح الصورة الموجودة في المرفقات بدون اي تعديل في البرنامج

ثم قم بوضع r:=0 وافتح الصورة وانظر الى المشكلة ;)

سأعيد الدراسة على مجموعة اخرى من الصورة لعلي اصل الى حل مجزيء

اقتباس
سأحاول البحث عن سبب المشكلة الثانية ..

المشكلة غريبة في الصورة الثاني ، سأحاول انا ايضاً البحث عن المشكلة

وفي انتظار حلك

اقتباس
لاحظت أن حجم الملف المتكون اقل من bmp بقليل مثلاً 64.4KB الملف المتكون 64.2KB

هل تعتقد اننا سنتغلب على BMP ؟؟ B)

تحياتي surini

arab_04.bmp

#39

اكتشفت المشكلة في الصورة winnt256.bmp

المشكلة كانت تكمن في inf.Image_Size

حيث ان المعلومات في تلك الصورة مخزنة بشكل غريب

فسيتم ايجاد inf.Image_Size من الملف بالقيمة 0

لذلك الحل كالتالي :

في السطر 165 ، 166 استبدل :

SetLength(body,inf.Image_Size+inf.Width);
SetLength(BMPD,inf.Image_Size);

بـ

SetLength(body,(inf.Height*inf.Width)+inf.Width);
SetLength(BMPD,(inf.Height*inf.Width));

وفي السطر 169 استبدل :

F.ReadBuffer(p^,inf.Image_Size);

بـ

F.ReadBuffer(p^,(inf.Height*inf.Width));

وفي السطر 173 استبدل :

while ( i<=inf.Image_Size) do begin

بـ

while ( i<=(inf.Height*inf.Width)) do begin

واذا كان ماعندك وقت استخدم Replace => Ctrl+R

واستبدل اي كلمة inf.Image_Size بــ (inf.Height*inf.Width)

وخلاص ;)

تحياتي surini

#40
اقتباس
فسيتم ايجاد inf.Image_Size من الملف بالقيمة 0

البارحة علمت أن الخطأ هنا بعد استعمال F8 & F7 لتتبع البرنامج لكن لم أعلم سبب الخطأ لكوني لم أقرأ كود البرنامج ...

شئ جيد أن تعلم مكان الخطأ وتقوم بالتعديل

بقيت مشكلة

r:=rotate(inttostr(inf.Width));

فبدونها بعض الصور لن تظهر بشكل صحيح و بوجودها تظهر بعض الصور بشكل غير صحيح ...

شدحيلك ...

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#41

---

تطبيقك اكثر من رائع .. وسأحاول تحويله الى السي .

تم تعديل هذه المشاركة بواسطة الشمري في 15 سبتمبر 2006 في 06:37

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#42
اقتباس
بقيت مشكلة

كود

r:=rotate(inttostr(inf.Width));

فبدونها بعض الصور لن تظهر بشكل صحيح و بوجودها تظهر بعض الصور بشكل غير صحيح ...

شدحيلك ...

الحمدلله استطعت هذا اليوم حلها ،

كانت مجرد خطأ بسيط في في التعليمة rotate بحيث ان تحليلي السابق كان صحيح <_<

اشكرك على اهتمامك

اقتباس
---

تطبيقك اكثر من رائع .. وسأحاول تحويله الى السي .

مالفائدة من تحويلة الى السي !!!

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

فأستعن بهذه النسخة المحدثه من التطبيق

حيث قمت بحل الكثير من الاخطاء والمشاكل السابقة

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

تحياتي surini

ATBrowser2.rar

تم تعديل هذه المشاركة بواسطة surini في 15 سبتمبر 2006 في 18:44

#43

السلام عليكم

أولا أنا أسف للتاخير لعدم توفر الوقت

ثانيا وبعد مراجعة سريعة للموضوع أريد أن أقدم حل لمشكلة قراءة BMPدون القيام بعملية الرسم وقد تعرضت لهذه المشكلة عند محاولتي

حماية صور اللعبة التي أقـوم ببرمجتها أقصد تشفير الصور بسرعة وفاعلية المهم الحل كان عن طريق قراءة الملف بـ binary mode وقد قمت بصنع برييمج

يقوم بالتشفير وأخر يقوم بإعادة الملف عن طريق VB -_-

حسنا ;) العلاقة بين هذا وذاك تكمن في قراءة محتوى الملف byte by byte ومن ثم إستعمال أي algorithme to compress files وإذا توفلا لي الوقت سأحاول في الأمر إن شاء الله :D

هذا الموضوع مغلق.

مواضيع مشابهة