تعیین رنگ زمینه در یک کار گرافیکی c

چطوری می شه به هنگام کامپایل پروژه در زبان سی کاری کرد که در محیط گرافیکی رنگ زمینه رو ما تعیین کنیم؟
 

the_king

مدیرکل انجمن
کارت گرافیکی بر اساس جدول Palette، رنگهای مدهای Indexed را مشخص می کند و رنگ پیشفرض زمینه کد صفر است،
بنابراین رنگ زمینه با تعویض مقدار اولین رنگ در جدول Palette تغییر خواهد کرد، بدون آنکه تغییری در محتویات صفحه داده باشیم.
ولی در سایر مدها بایستی محتویات خانه ها را با رنگ دلخواه پر کرد.

در این مثال (++Turbo C) من رنگ زمینه را به رنگ قرمز تغییر می دهم، فقط با استفاده از تابع setpalette :
کد:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
    int gdriver = DETECT, gmode, errorcode;
    struct palettetype far *pal=(void *) 0;
    initgraph(&gdriver, &gmode, "");
    errorcode = graphresult();
    if (errorcode != grOk)
    {
        printf("Graphics error: %s\n", grapherrormsg(errorcode));
        printf("Press any key to continue.");
        getch();
        exit(1);
    }
    setpalette(0, RED);
    gotoxy(2,2);
    printf("This is a sample.\n");
    gotoxy(2,4);
    printf("Press any key to continue.");
    getch();
    pal=getdefaultpalette();
    setallpalette(pal);
    closegraph();
    return 0;
}
 

جدیدترین ارسال ها

بالا