1. 程式人生 > >計算機圖形學作業——DDA演算法實現

計算機圖形學作業——DDA演算法實現

/*

CopyRight :sau liuwei

 Date : 20160313

*/

#include<stdio.h>

#include<string.h>
#include<windows.h>

void DDALine(HDC hDC,int x0,int y0,int x1,int y1,int color)
{
    int x;
    int dx,dy,y,k;
    dx = x1 - x0;
    dy = y1 - y0;
    k = dy/dx;
    y = y0;
    for(x=x0;x<=x1;x++)
    {
        SetPixel(hDC,x,y,0x0000ff);
        y = y + k;
    }
}

void main(int argc,char * argv[])
{
    int x0,y0,x1,y1;
    char arg[200] = {0};
    arg[0] =  '\"';
    strcpy(arg+1,argv[0]);
    int len = int(strlen(arg));
    arg[len]='\"';

    HWND hWnd = FindWindow(NULL,arg);
    HDC hDC = GetDC(hWnd);
    printf("請輸入起點座標,終點座標,形式如:x0 y0 x1 y1\n");
    scanf("%d %d %d %d",&x0,&y0,&x1,&y1);
    DDALine(hDC,x0,y0,x1,y1,0x0000ff);

}

在我們檢視別人程式碼中會看到這樣一種形式:

int main(int argc, char* argv[])

其中argc是命令列總的引數個數,而argv[]則是argc個引數,尤其注意的是argv[0]是程式的全名,以後的引數則是命令列後面跟的使用者輸入的引數。