2021. 6. 29. 19:32

라인 드로우를 구현할때, openGL, DX, winDC 등을 사용할 수 없는경우,

바닥부터 맨땅에 코딩을 해야하는 경우가 생기더라.

그때를 위한 참고용 코드.

 

Void DrawLine(int x1, int y1, int x2, int y2)
{
    int aX=0, aY=0;
    int cnt = 0;
    int dx = x2-x1;
    int dy = y2-y1;

    if(dx < 0) {addX = -1; dx = -dx;}
    else addX = 1;
    if(dy < 0) {addY = -1; dy = -dy;}
    else addY = 1;
    
    int x = x1;
    int y = y1;
    if(dx >= dy)
    {
        for(int i = 0 ; i < dx ; i++)
        {
            x += addX;
            cnt += dy;
            if(cnt >= dx)
            {
                y += addY; cnt -= dx;
            }
            drawPoint(x,y);
        }
    }
    else
    {
        for(int i = 0 ; i < dy ; i++)
        {
            y+= addY;
            cnt += dx;
            if(cnt >= dy)
            {
                x += addX; cnt -= dy;
            }
            darwPoint(x,y);
        }
    }
}

 

 

'Computer Programming > C,C++,MFC' 카테고리의 다른 글

[C/C++] C언어 입력함수 scanf  (0) 2017.02.15
[C/C++] Bit Field, 비트 변수 ':'  (0) 2017.02.13
[C/C++] fopen 함수의 옵션값 정리  (0) 2016.11.10
[C/C++] bsearch 함수  (0) 2016.06.22
[MFC]CString <-> Char* 변환  (0) 2013.11.08
Posted by 은돌군
2020. 6. 4. 16:55

Ctrl+G

'Computer Programming > Tip' 카테고리의 다른 글

[MAC] 마우스 휠 스크롤 방향  (0) 2016.09.06
[기타] Alt 한글 전환 레지스트리  (0) 2013.10.28
Posted by 은돌군
2017. 2. 15. 10:14

C언어의 대표적 함수 scanf 의 함수는 다음과 같은 형태를 가지고 있다.


int scanf (const char * format, ...);


사용 예는 다음과 같다.


scanf("%d", &input);


위 글은 숫자형을 입력받을때 사용하는 방식이다.


Visual Studio 2008 기준 전체 코드를 간단히 짜보면  다음과 같다.


#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])

{

int input;

scanf("%d", &input);

printf("%d\n", input);

return 0;

}


숫자값을 입력받고, 숫자값을 출력하는 코드이다.
실행시켜보면 다음과 같이 표출되는것을 확인할 수 있다.






Posted by 은돌군