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

Read and save BMP files

مغلق
بدأه aliG4 في 1 أغسطس 2006 · 4 رد · 783 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

Hello guys

Can any one give me a assembly program that read BMP files and save it again

I need it in my project

please....please

Thanks any way

#2

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

يرجى الكتابة بالعربية في المرة القادمة لان المنتدى مخصص للعرب.

بخصوص المشاريع الجاهزة فالقسم والمنتدى بكامله لا يقدم مشاريع جاهزة لو لاحظت, ولو لم تلاحظ يرجى مراجعة قواعد المشاركة الخاصة بالقسم.

اما بخصوص ما تطلب فيجب ان تقوم بالمحاولة, ولك مني الخطوات الاولى لتحاول بنفسك ..

عليك باستخدام CreateCompatibleDC لتنشئ memory dc كي يقوم بعرض الصورة عبر جهاز العرض

ثم تستخدم LoadImage لعرض الصورة ضمن جزء الذاكرة الذي تم انشاؤه

قم بتطبيق هذه الخطوات اولا, او حاول على الاقل وارنا محاولاتك او اطرح استفساراتك وسنرحب بمساعدتك.

بالتوفيق

مثال من MSDN لتوضيح الفكرة العامة

// Create a normal DC and a memory DC for the entire screen. The 
// normal DC provides a "snapshot" of the screen contents. The 
// memory DC keeps a copy of this "snapshot" in the associated 
// bitmap. 

hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL); 
hdcCompatible = CreateCompatibleDC(hdcScreen); 

// Create a compatible bitmap for hdcScreen. 

hbmScreen = CreateCompatibleBitmap(hdcScreen, 
					 GetDeviceCaps(hdcScreen, HORZRES), 
					 GetDeviceCaps(hdcScreen, VERTRES)); 

if (hbmScreen == 0) 
	errhandler("hbmScreen", hwnd); 

// Select the bitmaps into the compatible DC. 

if (!SelectObject(hdcCompatible, hbmScreen)) 
	errhandler("Compatible Bitmap Selection", hwnd); 

		// Hide the application window. 

		ShowWindow(hwnd, SW_HIDE); 

		 //Copy color data for the entire display into a 
		 //bitmap that is selected into a compatible DC. 

		if (!BitBlt(hdcCompatible, 
			   0,0, 
			   bmp.bmWidth, bmp.bmHeight, 
			   hdcScreen, 
			   0,0, 
			   SRCCOPY)) 

		errhandler("Screen to Compat Blt Failed", hwnd); 

		// Redraw the application window. 

		ShowWindow(hwnd, SW_SHOW);

اعتقد الامر واضح جدا الآن ان شاء الله

تم تعديل هذه المشاركة بواسطة Xacker في 1 أغسطس 2006 في 17:48

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

Salam

Sorry for writing in english

Because I work with computer that doesn't support arabic

First, thanks for your help

second, the project deal with assmbply intel xx86

and I just want how to read BMP files and store it in array

any way thanks for your help

and I'm sorry again

#4

لا باس, لكن كما ذكرت من قبل.. القسم لن يقدم شئ جاهز.. فقط Pointers ويجيب عن الاسئلة عند وجودها, بالتوفيق.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

يمكنك البحث في النت عن مبنى ملف ال bmp لتعلم اين يتم تخزين البتات الخاصة بالالوان.

تقرأها بت بت ، وتقوم برسمها (في سي نستخدم PutPixel ). لو قمت بالقراءة من اليمين الى اليسار من اعلى لأسفل سوف ترسم الصورة مقلوبة.للمزيد ابحث عن نركيبة ملف الـbmp.

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

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 2 أغسطس 2006 في 22:06

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…