close
تبلیغات در اینترنت
چگونه می توان در محیط گرافیك زبان C یك شكل پیچیده را حركت داد؟
مرورگرهای پیشنهادی :
موضوعات
  • پایان نامه و مقاله فنی مهندسی
  • مهندسی برق ، الکترونیک ، مخابرات
  • مهندسی فناوری اطلاعات
  • مهندسی کامپیوتر
  • مهندسی مکانیک
  • مهندسی عمران
  • مهندسی معماری
  • مهندسی ساخت و تولید
  • مهندسی منابع طبیعی
  • مهندسی کشاورزی
  • مهندسی شیلات
  • مهندسی صنایع
  • مهندسی مواد
  • مهندسی نقشه برداری
  • مهندسی تاسیسات
  • مهندسی شیمی
  • مهندسی متالوژی
  • مهندسی نساجی
  • مهندسی معدن
  • مهندسی نفت
  • محیط زیست
  • جوشکاری
  • پایان نامه و مقاله علوم انسانی
  • حقوق
  • اقتصاد
  • مدیریت
  • جغرافیا
  • جهانگردی
  • حسابداری
  • تربیت بدنی
  • ادبیات فارسی
  • علوم سیاسی
  • علوم اجتماعی
  • مدیریت صنعتی
  • مدیریت روابط عمومی
  • احکام و معارف اسلامی
  • روانشناسی و علوم تربیتی
  • گرافیک
  • هنر
  • بیمه
  • تاریخ
  • موسیقی
  • صنایع دستی
  • پایان نامه و مقاله پزشکی
  • علوم آزمایشگاهی
  • بهداشت عمومی
  • طب هسته ای
  • چشم پزشکی
  • جنین شناسی
  • روان پزشکی
  • دندانپزشکی
  • پیراپزشکی
  • دامپزشکی
  • طب سنتی
  • داروسازی
  • پرستاری
  • پزشکی
  • مامایی
  • آناتومی
  • ژنتیک
  • پایان نامه و مقاله علوم پایه
  • زیست شناسی
  • زمین شناسی
  • دندانپزشکی
  • دامپزشکی
  • پزشکی
  • فیزیک
  • پاورپوینت و اسلاید فنی مهندسی
  • پاورپوینت معماری
  • پاورپوینت کامپیوتر و IT
  • نمونه سوالات استخدامی
  • نمونه سوالات استخدامی بانک
  • نمونه سوالات استخدامی آموزش و پرورش
  • نمونه سوالات استخدامی شهرداری
  • نمونه سوالات استخدامی تامین اجتماعی
  • نمونه سوالات استخدامی دستگاه اجرایی
  • نمونه سوالات استخدامی فنی و حرفه ای
  • نمونه سوالات استخدامی وزارت خانه ها
  • نمونه سوالات استخدامی نظامی
  • سایر نمونه سوالات استخدامی
  • جزوات دانشگاهی
  • جزوات دروس مشترک دانشگاهی
  • جزوات مهندسی برق
  • جزوات مهندسی مکانیک
  • جزوات مهندسی عمران
  • جزوات رشته حسابداری
  • جزوات مهندسی فیزیک
  • جزوات مهندسی معماری
  • جزوات مهندسی ریاضی
  • جزوات مهندسی صنایع
  • جزوات مهندسی شیمی
  • جزوات مهندسی کامپیوتر و IT
  • جزوات رشته زمین شناسی
  • جزوات رشته روانشناسی
  • جزوات مهندسی مخابرات
  • جزوات رشته مدیریت
  • جزوات تربیت بدنی
  • جزوات حقوق
  • گزارش کارآموزی فنی مهندسی
  • مهندسی کامپیوتر (سخت افزار - نرم افزار)
  • مهندسی مکانیک
  • مهندسی برق
  • مهندسی شیمی
  • مهندسی فناوری اطلاعات
  • صنایع غذایی
  • حسابداری
  • مدیریت
  • مطالب پربازدید
    مطالب تصادفی
    مطالب پیشین
  • بررسی رابطه تيپ های شخصيتی دبيران دبيرستانهای دخترانه با میزان موفقیت (پنجشنبه 13 اردیبهشت 1397)
  • بررسی پيش تجربی سياهه مشاوره ای لوئيس سوال هاي شماره 3 تا 45 (از مقياس اطمينان اجتماعی) (پنجشنبه 13 اردیبهشت 1397)
  • بررسی مقدماتی شخصيتی كرنل براي سوال 36 و 37 بر روي دانشجويان دانشگاه آزاد اسلامي (پنجشنبه 13 اردیبهشت 1397)
  • مقايسه مشكلات زبان عادی ويژه (چهارشنبه 12 اردیبهشت 1397)
  • مقایسه ویژگی های شخصیتی شخصیت ضد اجتماعی و انحرافات اجتماعی در بین دانشجویان دختر و پسر (جمعه 07 اردیبهشت 1397)
  • بررسی رابطة تك فرزندی با اختلالات رفتاری (چهارشنبه 05 اردیبهشت 1397)
  • بررسی توصيفی موسيقی و موسيقی درمانی بر روی انسان ها (چهارشنبه 05 اردیبهشت 1397)
  • بررسی تأثير ناكامی در ميزان پرخاشگری بين دانش آموزان دختر و پسر مقطع ابتدايی (چهارشنبه 05 اردیبهشت 1397)
  • بررسی ميزان تأثير اردوهای تربيتی ـ آموزشی بر رشد شخصيت دانش آموزان (چهارشنبه 05 اردیبهشت 1397)
  • نياز سنجی كاركنان اطلاعات (چهارشنبه 05 اردیبهشت 1397)
  • مقايسه هوش هيجانی و جرأت ورزی در دانش‌آموزان دختر و پسر نابينا و عادی (چهارشنبه 05 اردیبهشت 1397)
  • مقایسه میزان هیجان خواهی دانشجویان متأهل و مجرد (چهارشنبه 05 اردیبهشت 1397)
  • مددکاری (چهارشنبه 05 اردیبهشت 1397)
  • بررسی علل گرايش جوانان و نوجوانان به قرص های روان گردان (چهارشنبه 05 اردیبهشت 1397)
  • شناسايی نيازهای آموزشی و ترويجی توتون کاران (چهارشنبه 05 اردیبهشت 1397)
  •  

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

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

    در محیط گرافیك در زبانهای برنامه نویسی تحت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:tcbgi");
       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;
    }

     

    کسب درآمد با فروش فایل های سایت ما

    درباره :
    برچسب ها :چگونه می توان در محیط گرافیك زبان C یك شكل پیچیده را حركت داد؟ ,گرافیک در C ,C++ ,برنامه ی گرافیکی ,سورس ,گرافیک ,گرافیکی ,متن ,عکس ,سرس ,برنامه نویسی ,
    بازدید : 1625 تاریخ : نویسنده : بهرام محمدپور | نظرات ()
    ارسال نظر برای این مطلب

    نام
    ایمیل (منتشر نمی‌شود) (لازم)
    وبسایت
    :):(;):D;)):X:?:P:*=((:O@};-:B/:):S
    نظر خصوصی
    مشخصات شما ذخیره شود ؟[حذف مشخصات] [شکلک ها]
    کد امنیتی
    آمار سایت
  • آمار مطالب
  • کل مطالب : 4311
  • کل نظرات : 17
  • آمار کاربران
  • افراد آنلاین : 4
  • آمار بازدید
  • بازدید امروز : 1,723
  • باردید دیروز : 13,194
  • گوگل امروز : 17
  • گوگل دیروز : 36
  • بازدید هفته : 14,917
  • بازدید ماه : 153,727
  • بازدید سال : 841,647
  • بازدید کلی : 6,695,373
  • نظرسنجی
    چه مطالبی در سایت قرار دهیم؟





    کدهای اختصاصی