[Lập trình đồ họa máy tính cơ bản] Vẽ hình cơ bản

Share:
Vẽ hình ngôi sao bằng C++

Tạo màu ngẫu nhiên từ 1 đến 15, ta có đoạn code sau:

#include <stdio.h>
#include <conio.h>
#include <graphics.h>
#include <time.h>
int main(){
    initwindow(800,600);
    srand((unsigned int) time(0));
    int t=0;
    while (1){
        for(int i=0;i<300;i=i+10){
            while (t==0)
                t = rand()%16;
            setcolor(t);
            line(100,100+i,500,100+i);
            delay(100);
            t=0;
        }
    }
    getch();
    return 0;
}


Cách sử dụng hàm setbkcolor trong thư viện WinBGIm là phải sử dụng liên tục 2 câu lệnh setbkcolor(mau) và cleardevice().

Hàm settextstyle(font_chữ,hướng,kích_cỡ) dùng để thiết lập font chữ (0-10), hướng (trái sang phải - 0, dưới lên trên - 1) và cỡ chữ.



#include <stdio.h>
#include <graphics.h>
int main(){
    initwindow(500,300);
    setbkcolor(GREEN);
    cleardevice();
    settextstyle(10,0 ,5);
    moveto(50,100);
    outtext("Xin chao TH9");
    int maxx = getmaxx();//499
    int maxy = getmaxy();//299
    printf("%d  %d",maxx,maxy);
    int x = getx();//350
    int y = gety();//100
    printf("\n%d %d\n",x,y);
    getch();
    return 0;
}

Vẽ ngôi sao quay bằng cách sử dụng cấu trúc accoordstype và getarccoords:



#include <graphics.h>
#include <conio.h>
#include <stdio.h>
int main(){
    initwindow(800,600);
    arccoordstype a;
    int g = 0;
    int c = 1;
    int gtang = 144;
    while (1){ //lap vo tan
        int gt = g;
        for(int i=0;i<5;i++){
            setcolor(BLACK);
            arc(400,300, gt,gt+gtang,200);
            getarccoords(&a);
            setcolor(c);
            line(a.xstart,a.ystart,a.xend,a.yend);
            gt=gt+gtang;
        }
        g+=5; //tang goc bat dau len 5 sau moi lan ve
        delay(100);
        c++;
        if (c==16)// mau thay doi nhung k vuot qua gioi han
            c=1;
        if (g==360) //goc tang nhung k vuot qua gioi han
            g=0;
        cleardevice();//xoa man hinh
    }
    getch();
}

Không có nhận xét nào