비주얼 C/C++ API 프로그래밍: 싸인 곡선 출력 예제
글. 오상문 sualchi@daum.net
1) 비주얼 스튜디오에서 C++ Win32 프로젝트를 만듭니다.
2) 프로젝트 이름을 지정하고, 마법사에서는 빈 프로젝트를 체크 해제합니다.
3) 메인 소스에서 상단에 다음 문장을 추가합니다. (sin 함수 사용하기 위해)
#include "math.h"
4) WndProc 함수의 case WM_PAINT 부분으로 이동합니다.
5) // TODO 아래에 소스를 추가합니다.
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: 여기에 hdc를 사용하는 그리기 코드를 추가합니다.
float fx, fy; // 싸인 곡선
const float a = 160; // 진폭
// 그래프 기준 선 그리기
MoveToEx(hdc, 100, 40, NULL);
LineTo(hdc, 100, 480);
MoveToEx(hdc, 100, 240, NULL);
LineTo(hdc, 500, 240);
COLORREF color = RGB(255, 0, 0); // 빨간색
for (int i = 0; i<360; i++)
{
fx = (float)i;
fy = (float)sin(i*3.141592 / 180.0) * a;
SetPixel(hdc, (int)fx + 100, (int)fy + 240, color);
}
// 0, ∏, 2∏ 위치 표기
TextOut(hdc, 100 - 10, 250, L"0", 1);
TextOut(hdc, 100 - 7 + 180, 250, L"∏", 1);
TextOut(hdc, 100 - 7 + 360, 250, L"2∏", 2);
EndPaint(hWnd, &ps);
}
break;
6) Ctrl+F5 키를 눌러서 빌드하고 실행합니다.
'C' 카테고리의 다른 글
세 정수 중에서 가장 큰 수 구하기 (C/C++) (0) | 2016.12.16 |
---|---|
짝수 홀수 구분하는 다양한 방법 (C / C++) (0) | 2016.12.16 |
C 언어 스택 자료 구조와 예제 (0) | 2016.12.06 |
C 언어 버블 소트 (거품 정렬) 소스 (0) | 2016.08.11 |
C, 이진트리 구현 소스 (0) | 2016.08.11 |