خطأ عند تطبيق معالجة الصور الرقمية بلغة دلفي الدرس 6
#1
Information 
بسم الله الرحمن الرحيم
انا تابعت دورة الاخ عبدالقادر للصور ولكن فى الدرس السادس فعلت كل شئ تمام ولكن تظهرلى رساله بأن الصورة غير صالحه بالرغم من ان الصورة نفطيه
[صورة: 150587649318231.png]
لذلك أرجو توضيح الخطأ أذا كان برمجى او فى نوع الصورة ووضعت المثال بالكامل فى المرفقات مع الصورة


الملفات المرفقة
.rar   Lesson 6.rar (الحجم : 70.93 ك ب / التحميلات : 17)
> مبرمج مبتدئ < سبحان الله بحمده... سبحان الله العظيم
الرد
#2
اضف الوحدة jpej في uses
وسيختفي باذن الله
الرد
#3
السلام عليكم
جرب ما يلي
ضف متغير مثلا misc كما يلي (انتبه لاخر سطر في الاكواد التالية)
كود :
var  Form1: TForm1;  tms:TMemoryStream;  bmp_file:BMP_HEADER;  ary:array of array of Tthreecolor;  ary_t:array of array of Tthreecolor;  misc:array[1..2]of DWORD;
ثم عدل ما يلي:
كود :
procedure  TForm1.write_to_img(img:TImage); var i:Integer; begin try  tms:=TMemoryStream.Create;  tms.Write(bmp_file,SizeOf(BMP_HEADER));  tms.Write(misc,SizeOf(misc));
وايضا في الزر 3
كود :
procedure TForm1.btn3Click(Sender: TObject); var i:Integer; begin try  tms:=TMemoryStream.Create;  tms.Write(bmp_file,SizeOf(BMP_HEADER));  tms.Write(misc,SizeOf(misc));
احذف المتغير bmp_file هنا
كود :
procedure TForm1.btn1Click(Sender: TObject); var //bmp_file:BMP_HEADER;
جرب واخبرنا بالنتيجة
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 1 user says قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • karika2
الرد
#4
jpeg -- هو التعامل مع الصور النفطية فقط bmp ومع ذلك أضفت الوحده jpeg ونفس المشكلة

بارك الله فيك أخ عبدالقادر ودومت دائماّ لنا
> مبرمج مبتدئ < سبحان الله بحمده... سبحان الله العظيم
الرد
#5

هل فهمت لماذا ؟
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#6
اعتقد أنك قمت بوضع فاصل بين الهيدر وجسم الصورة وأذا كان أعتقادى خاطئ أرجو بالتصحيح أذا تكرمت أخى عبدالقادر !! (y)
> مبرمج مبتدئ < سبحان الله بحمده... سبحان الله العظيم
الرد
#7
حجم الHeader كان 46byte والمتغير Offset كان 54 حيث هناك 8byte ناقصة عند كتابة الصورة
التعديل الذي قمت به مؤقت ليعمل المثال وليس حل انيق
التعامل مع الترويسة Header ناقص كثيرا

اخوك عيد العزيز من الجزائر والاخ عبدالقادر سوري بتركيا.
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#8
اها شكراّ للتنبيه أخى
فعلاّ الهيدر كان ناقص وكان هو سبب المشكلة قمت بالتعديل
_res5:array[1..6] of dword;
معذرة أختلط عليا الامر فى الاسامى Big Grin
> مبرمج مبتدئ < سبحان الله بحمده... سبحان الله العظيم
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم