تحقیق در مورد چگونه مي توان در محيط گرافيك زبان c يك شكل پيچيده را حركت داد؟

راهنمای سایت

سایت اقدام پژوهی -  گزارش تخصصی و فایل های مورد نیاز فرهنگیان

1 -با اطمینان خرید کنید ، پشتیبان سایت همیشه در خدمت شما می باشد .فایل ها بعد از خرید بصورت ورد و قابل ویرایش به دست شما خواهد رسید. پشتیبانی : بااسمس و واتساپ: 09159886819  -  صارمی

2- شما با هر کارت بانکی عضو شتاب (همه کارت های عضو شتاب ) و داشتن رمز دوم کارت خود و cvv2  و تاریخ انقاضاکارت ، می توانید بصورت آنلاین از سامانه پرداخت بانکی  (که کاملا مطمئن و محافظت شده می باشد ) خرید نمائید .

3 - درهنگام خرید اگر ایمیل ندارید ، در قسمت ایمیل ، ایمیل http://up.asemankafinet.ir/view/2488784/email.png  را بنویسید.

http://up.asemankafinet.ir/view/2518890/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%D8%A2%D9%86%D9%84%D8%A7%DB%8C%D9%86.jpghttp://up.asemankafinet.ir/view/2518891/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%DA%A9%D8%A7%D8%B1%D8%AA%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1%D8%AA.jpg

لیست گزارش تخصصی   لیست اقدام پژوهی     لیست کلیه طرح درس ها

پشتیبانی سایت

در صورت هر گونه مشکل در دریافت فایل بعد از خرید به شماره 09159886819 در شاد ، تلگرام و یا نرم افزار ایتا  پیام بدهید
آیدی ما در نرم افزار شاد : @asemankafinet

تحقیق در مورد چگونه مي توان در محيط گرافيك زبان c يك شكل پيچيده را حركت داد؟

بازديد: 69

چگونه مي توان در محيط گرافيك زبان c يك شكل پيچيده را حركت داد؟

 

 

شنبه,28 آذر 1383(تعداد دفعات خوانده شده:1497)

منبع : http://www.pooyeshr.com


در محيط گرافيك در زبانهاي برنامه نويسي تحت DOS اشكال ساده مثل مستطيل و دايره را مي توان با پاك كردن و كشيدن مجدد براحتيجابجا نمود اما حركت اشكال پيچيده با اين روش بسيار وقت گير مي باشد بطوريكه پاككردن و كشيدن دوباره شكل كاملا به چشم مي آيد. در چنين مواقعي مي بايست شكل موردنظر را كه در داخل يك مستطيل فرضي قرار دارد , وارد يك حافظه كمكي نمود و محتوياتاين حافظه را در نقطه اي دلخواه در صفحه چاپ كرد .

در ابتداي كار يك متغيراز نوع int تعريف كنيد كه اندازه شكل محاسبه شود و در آن قرار گيرد. يك متغير نيزاز نوع *void تعريف كنيد كه در واقع بافري است كه رنگ پيكسل هاي مستطيل در آن بهترتيب قرار مي گيرند تا در موقع لزوم به همان ترتيب چاپ شوند:


int size;

void* buffer;


حال مي بايست اندازهمستطيل را با تابع imagesize محاسبه و در متغير size بريزيد:


size=imagesize(x1,y1,x2,y2);


كه پارامتر هاي آن بهترتيب مختصات گوشه بالاي سمت چپ مستطيل و گوشه پايين سمت راست آن مي باشند.

حال حافظه اي را با تابع malloc به اندازه size به buffer اختصاص دهيد:


buffer=malloc(size);


الگوي اين تابع در سر فايل alloc.h قرار دارد.(الگوي ساير توابع گفته شده در graphics.h مي باشد.)

حالنوبت به خواندن پيكسلهاي مستطيل مي باشد. اين كار را با تابع getimage انجام دهيدكه پيكسلها را خوانده و در بافر قرار مي دهد:


getimage(x1,y1,x2,y2,buffer);


كار ما براي خواندنمستطيل به پايان رسيده است . فقط كافيست بافر خوانده شده را با تابع putimage درنقطه دلخواه چاپ كنيم :


putimage(x,y,buffer,COPY_PUT);


دو پارامتر اول اينتابع مختصات نقطه مقصد مي باشند .(گوشه بالاي سمت چپ مستطيل در مقصد) پارامتر دومبافر محتوي شكل و پارامتر سوم تعيين كننده نوع چاپ شدن شكل مي باشد كه داراي حالاتزير است :


Constant Value Meaning
----------------------------------------------------------------------------------------------------------
COPY_PUT 0 Copies source bitmap onto screen
XOR_PUT 1 Exclusive ORs source image with that already onscreen
OR_PUT 2 Inclusive ORs image with that already onscreen
AND_PUT 3 ANDs image with that already onscreen
NOT_PUT 4 Copy the inverse of the source


دقت كنيد كه در پايانبرنامه حتما حافظه گرفته شده با دستور malloc را آزاد كنيد:


free(buffer);


توجه كنيد كه شكل لزوما يك مستطيل نيستبلكه براي ذخيره سازي شكل در حافظه يك مستطيل فرضي دور شكل در نظر گرفته مي شود . براي مثال ميتوانيد كد زير را كپي كرده و در محيط TC اجرا كنيد :



#include
#include
#include
int main(){
int driver=DETECT,mode=0,size,column,row,horiz,vert;
void* buffer;
initgraph(&driver,&mode,"c:\\tc\\bgi");
setcolor(LIGHTBLUE);
rectangle(2,2,200,40);
setfillstyle(SOLID_FILL,BLUE);
floodfill(100,20,LIGHTBLUE);
settextstyle(SMALL_FONT,HORIZ_DIR,7);
setcolor(WHITE);
outtextxy(12,10,"www.PooyeshR.com");
rectangle(0,0,600,400);
size=imagesize(1,1,201,41);
buffer=malloc(size);
getimage(1,1,201,41,buffer);
column=1;
row=1;
horiz=1;
vert=1;
while(!bioskey(1)){
putimage(column,row,buffer,COPY_PUT);
column+=vert;
row+=horiz;
if(column==399 || column==1)
vert=-vert;
if(row==359 || row==1)
horiz=-horiz;
}
free(buffer);
closegraph();
restorecrtmode();
return 0;
}

 

 

 

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: یکشنبه 09 اسفند 1394 ساعت: 17:48 منتشر شده است
برچسب ها : ,
نظرات(0)

شبکه اجتماعی ما

   
     

موضوعات

پيوندهاي روزانه

تبلیغات در سایت

پیج اینستاگرام ما را دنبال کنید :

فرم های  ارزشیابی معلمان ۱۴۰۲

با اطمینان خرید کنید

پشتیبان سایت همیشه در خدمت شماست.

 سامانه خرید و امن این سایت از همه  لحاظ مطمئن می باشد . یکی از مزیت های این سایت دیدن بیشتر فایل های پی دی اف قبل از خرید می باشد که شما می توانید در صورت پسندیدن فایل را خریداری نمائید .تمامی فایل ها بعد از خرید مستقیما دانلود می شوند و همچنین به ایمیل شما نیز فرستاده می شود . و شما با هرکارت بانکی که رمز دوم داشته باشید می توانید از سامانه بانک سامان یا ملت خرید نمائید . و بازهم اگر بعد از خرید موفق به هردلیلی نتوانستیدفایل را دریافت کنید نام فایل را به شماره همراه   09159886819  در تلگرام ، شاد ، ایتا و یا واتساپ ارسال نمائید، در سریعترین زمان فایل برای شما  فرستاده می شود .

درباره ما

آدرس خراسان شمالی - اسفراین - سایت علمی و پژوهشی آسمان -کافی نت آسمان - هدف از راه اندازی این سایت ارائه خدمات مناسب علمی و پژوهشی و با قیمت های مناسب به فرهنگیان و دانشجویان و دانش آموزان گرامی می باشد .این سایت دارای بیشتر از 12000 تحقیق رایگان نیز می باشد .که براحتی مورد استفاده قرار می گیرد .پشتیبانی سایت : 09159886819-09338737025 - صارمی سایت علمی و پژوهشی آسمان , اقدام پژوهی, گزارش تخصصی درس پژوهی , تحقیق تجربیات دبیران , پروژه آماری و spss , طرح درس