اخي العزيز chik
لقد وضعت لنا ملف لكيفية قراءه واستخراج الصورة من ملف على شكل hex
وكانت الصورة في وضعية bmp فكيف يمكنني استخراج او قراءه من نفس الملف والصورة على وضعية m2v
واشكرك على صبرك علي
اخي العزيز chik
لقد وضعت لنا ملف لكيفية قراءه واستخراج الصورة من ملف على شكل hex
وكانت الصورة في وضعية bmp فكيف يمكنني استخراج او قراءه من نفس الملف والصورة على وضعية m2v
واشكرك على صبرك علي
up
اشكرك اخي neo على البرنامج
لكنني عند تشغيل الملف gw
بيظهر خطا ولاادري لماذا ؟؟؟؟؟؟؟
اختك سلوى
الملف يعمل عندي بدون مشاكل
المهم تتبعى الكود فى الـMainForm.cpp سوف تجدي
struct BmpHeader
{
int headersize;
int width;
int height;
short int one;
short int bits;
int compression;
int act_size;
int m1;
int m2;
int colors;
int free;
};
struct colors{
unsigned char b,g,r;
};
struct FileHeader
{
int size;
short int f1;
short int f2;
int offset;
};هذه هى ترويسة الملف الـBMP و ترتيب الألوان
و هذا هو كود فتح الصورة و وضعها فى المصفوفة
CFileDialog dlg(TRUE, NULL, "*.*");
if (dlg.DoModal() == IDOK) {
CString InPath = dlg.GetPathName();
CString FileName = InPath;
F.open(InPath,ios::binary|ios::in|ios::out);
F>>FB;
F>>SB;
F.read((char*)&fh,12);
F.read((char*)&bh,40);
cs=new colors*[bh.height];
int v=(bh.width*3)%4;
for(int i=bh.height;i>0;i--){
cs=new colors[bh.width+v];
for(int j=0;j<bh.width+v;j++)
F.read((char*)&cs[j],3);
}
F.close();
}و هذا الكود لعرض المصفوفة
p=GetDC();
int tbh=25;
long Color;
int v=(bh.width*3)%4;
int i,j,rv=0,DD=0;
for(i=bh.height;i>0;i--)
{
if (rv>5)
DD=1;
if (rv<1)
DD=0;
if (DD==0)
rv=rv+1;
else
rv=rv-1;
for(j=0;j<bh.width+v;j++){
Color=RGB(cs[j].r,cs[j].g,cs[j].b);
p->SetPixel(j+3+rv,tbh+i,Color);
}
}أنا أسف لسببين الأول
أن أنا لا أكتب تعليقات على الكود ( عادة سيئه جدا )
ثانياٌ أنا مأخذتش بالي من الأسم و كنت بتعامل معكي على أنك ولد
هذا الموضوع مغلق.