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

مسح منطقة معينه في شاشة الرسم في السي بلس بلس

مغلق
بدأه نسرينا123 في 2 سبتمبر 2007 · 5 رد · 896 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

صباح الخير لكل اعضاء المنتدى الرائع :)

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

في السي بلس بلس

يعني عاوزة ارسم وامسح في منطقة معين بس يعني في منطقة x,y

وعاااااااااااااااااااااجل جدا ارجووووووووووكم بسرعه ،،،، :wacko:

وجزاكم الله الف خير،،، :s

#2

في هذا الرابط كتابي "برمجة الرسم بلغة سي" :

sbrsystem.8m.com

في ركن تحميل الكتب

#3

وهو كتاب يشرح دوال مكتبة الرسم الموجودة في مكتبة graphics.h في TURBO C PLUS PLUS

وهو جزء كتاب سلسلة البرمجة بلغة سي :

http://sbrsystem.8m.com/EC.htm

إن احتجت لأي مساعدة فلا مشكلة

#4

شكرا سيدي aIbara2006 ارجو مساعدتي في اصلاح هذا المشروع

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

فالصورة عندي بتهتز اريد حل وعاااااااااااااااااااجل يا سيدي الغالي

وشكرا منتظرة منك الرد السريع

اليك الكود وشكرا سلفا

#include<graphics.h>
#include<math.h>

void numbers();
int main()
{


	//setfillstyle(1,2);
   // floodfill(0,0,getmaxcolor());
	int x0=0,y0=0, xf=140,yf=140;
	double xp,yp,pi=22/7;
	///////////////////////////////////////
	int x1f=100, y1f=100;
	double x1p,y1p;
	//////////////////////////////////////
	int x2f=50, y2f=50;
	double x2p=0,y2p=0;
  //////////////////////////////////////  
  initwindow(600,600);  
  setbkcolor(8);  
	setcolor(4);   

				   numbers();
					   for(int th=0;th>=-360;th=th-5)
						 { 
						  numbers();
						  circle(300,300,3);
						  xp=xf*cos(th*pi/180)-yf*sin(th*pi/180);
						  yp=xf*sin(th*pi/180)+yf*cos(th*pi/180);
						  line(x0+300,300-y0,round(xp)+300,300-round(yp));

						  for(int th=0;th>=-360;th=th-5)
							 { 

							   numbers();
							   setcolor(4);
							   circle(300,300,3);
							   line(x0+300,300-y0,round(xp)+300,300-round(yp));
							   x1p=x1f*cos(th*pi/180)-y1f*sin(th*pi/180);
							   y1p=x1f*sin(th*pi/180)+y1f*cos(th*pi/180);
							   line(x0+300,300-y0,round(x1p)+300,300-round(y1p));
							   line(x0+300,300-y0,round(x2p)+300,300-round(y2p));
  /////////////////////////////////////////////////////////////////////////////////////
							   for(int th=0;th>=-360;th=th-5)
									{ 
								circle(300,300,3);
								 setbkcolor(8);
								 numbers();
								 setcolor(4);
								 line(x0+300,300-y0,round(xp)+300,300-round(yp));
								 line(x0+300,300-y0,round(x1p)+300,300-round(y1p));
								 x2p=x2f*cos(th*pi/180)-y2f*sin(th*pi/180);
								 y2p=x2f*sin(th*pi/180)+y2f*cos(th*pi/180);
								 line(x0+300,300-y0,round(x2p)+300,300-round(y2p)); 
								 numbers();  
								 delay(10);
								 numbers();
								 setfillstyle(1,7);
								 floodfill(0,0,17);
								 //clearviewport();
								 numbers();
									 }
							}
				   }


	while(!kbhit());
	closegraph();
	return 0;
}

void numbers()
  {
	settextstyle(3,0,5);

	 outtextxy(270,43,"VII");   
	 outtextxy(415,90,"I");   
	 outtextxy(470,170,"II");   
	 outtextxy(495,280,"III");   
	 outtextxy(473,400,"IV");   
	 outtextxy(400,460,"V");   
	 outtextxy(270,490,"VI");   
	 outtextxy(130,460,"VII");   
	 outtextxy(60,380,"VIII");   
	 outtextxy(60,280,"IX");   
	 outtextxy(120,170,"X");   
	 outtextxy(170,90,"XI");  

  }
#5

السلام عليكم

أولا آسف لتأخري في الرد لأني أستعمل Cofe Net ولا يوجد به Turbo C لذا سأجاوبك مما رأيته من الشفرة المصدرية.

من عيوب الرسم على Turbo C++/C أنه عند تغيير الرسومات بسرعة فإنه يتجاوب بسرعة أقل مما يحدث شبه اهتزاز للصورة , وهذه المشكلة وجهتني كثيرا والحل الوحيد لها بالنسبة لي حتى الآن هو تجنب مسح الشاشة كلها وإنما مسح الجزء المتغير فقط.

فبالنسبة لساعة العقارب يمكنك مسح العقرب فقط , يعني لو كانت خلفية الشاشة زرقاء والعقرب لون أخضر , فقبل تحريك العقرب قم برسمه بلون خلفية الساعة "فسيختفي" ثم قم برسمه بعد دوارنه درجة واحدة, وبتكرار هذه العملية "نتخلص من المشكلة باللف والدوران".

وإن يسر الله فسأقوم بتجربته وإعلامك بالنتيجة....

#6

شكرا استاذ ولكن قد تاخرت جدا جدا جدا وبالفعل الحمد لله قد خطرت لي الفكرة :rolleyes:

هذه وقمت باستخامها والحمد الله استطعت وبفضل الله القيام بها بنفسي وبعون الله اكيد :D

وقمت بتسلم مشروعي في بداية شهر سبتمبر وشكرا جدا على الاهتمام ;)

شكررررررا

-_-

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

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