머리말
중추절이 다가오고 모두가 가족을 놀라게하고 싶어합니다! 오늘은 C++과 Easyx로 별이 빛나는 하늘을 그리는 방법을 알려드리겠습니다.
(효과 맵:)
1. Easyx 준비
먼저 Easyx 공식 웹 사이트 로 이동 하여 설치 프로그램을 다운로드해야 합니다.
다운로드가 완료되면 프로그램을 열고 "다음"을 클릭하십시오.
그런 다음 편집기를 선택하고 "설치"를 클릭하십시오.
2. 기능 소개
오늘 사용할 몇 가지 기능을 간단히 소개합니다.
1. 솔리드서클
이 기능은 테두리 없이 채워진 원을 그리는 데 사용됩니다.
함수 프로토타입:
void solidcircle(
int x,
int y,
int radius
);
매개변수 설명:
x: 원 중심의 x 좌표
y: 원 중심의 y 좌표
반지름: 원의 반지름
2, setfillcolor
이 기능은 현재 장치 채우기 색상을 설정하는 데 사용됩니다.
함수 프로토타입:
void setfillcolor(COLORREF color);
매개변수 설명:
색상: 채우기 색상
3. getbkcolor
이 함수는 현재 장치 배경색을 가져오는 데 사용됩니다.
COLORREF getbkcolor();
4초기화
이 기능은 그리기 창을 초기화하는 데 사용됩니다.
함수 프로토타입:
HWND initgraph(
int width,
int height,
int flag = NULL
);
매개변수 설명:
너비: 그리기 창의 너비
height : 도면 창의 높이
플래그: 그리기 창의 스타일, 기본값은 NULL입니다. 다음 값이 될 수 있습니다.
값 | 의미 |
---|---|
EW_DBLCLKS | 도면 창에서 마우스 더블 클릭 이벤트 지원 |
EW_NOCLOSE | 플롯 창의 닫기 버튼 비활성화 |
EW_NOMINIMIZE | 플롯 창의 최소화 버튼 비활성화 |
EW_SHOWCONSOLE | 콘솔 창 표시 |
5、클로즈그래프
이 기능은 도면 창을 닫는 데 사용됩니다.
void closegraph();
6, 풋픽셀
이 기능은 점을 그리는 데 사용됩니다.
void putpixel(
int x,
int y,
COLORREF color
);
매개변수
x: 점의 x 좌표
y: 점의 y 좌표
color: 포인트의 색상
3. 실현 원리
이 프로젝트의 구현 원리는 어렵지 않습니다. 달은 테두리가 없는 채워진 원입니다. 큰 별은 먼저 원을 그린 다음 배경색으로 그 주위에 몇 개의 원을 그리고 작은 별은 점을 그리는 것입니다. 임의의 위치.
4. 튜토리얼
1. 헤더 파일을 엽니다.
#include <graphics.h>
2. 기본 기능에서 창을 초기화합니다(아래 동일).
initgraph(640, 480);
3. 채우기 색상을 설정합니다.
setfillcolor(YELLOW);
4. 테두리가 없는 채워진 원을 그립니다.
solidcircle(450, 80, 50);
우리는 하나의 큰 별을 그리는 것이 아니기 때문에 함수와 함께 하는 것이 좋습니다.
5. 메인 함수 외부에 큰 별을 그리는 함수를 만듭니다.
void star(int x, int y) {
setfillcolor(YELLOW);
solidcircle(x, y, 20);
setfillcolor(getbkcolor());
solidcircle(x - 20, y - 20, 20);
solidcircle(x + 20, y - 20, 20);
solidcircle(x - 20, y + 20, 20);
solidcircle(x + 20, y + 20, 20);
return;
}
6. 그런 다음 main 함수에 다음을 작성하십시오.
star(50, 50);
star(570, 400);
star(300, 60);
star(250, 300);
star(50, 400);
그리고 작은 별의 위치는 무작위이기 때문에 난수를 생성하려면 다음이 필요합니다.
7. 헤더 파일을 가져옵니다.
#include <time.h>
8. 메인 함수의 시작 부분에 문장을 작성하세요:
srand((unsigned int)time(NULL));
9. 큰 별을 그리기 위한 코드 뒤에 작은 별을 그리기 위한 코드(백 개)를 추가합니다.
for (int i = 0; i < 100; i++) {
putpixel(rand() % 640, rand() % 480, YELLOW);
}
종료하기 위해 아무 키나 누르는 효과를 얻으려면 다음이 필요합니다.
10. 헤더 파일을 가져옵니다.
#include <conio.h>
11. 작은 별을 그리는 코드 뒤에 문장을 작성하십시오.
_getch();
12. 마지막으로 창을 닫고 프로그램을 종료합니다.
closegraph();
return 0;
5. 완전한 코드
#include <graphics.h>
#include <time.h>
#include <conio.h>
void star(int x, int y) {
setfillcolor(YELLOW);
solidcircle(x, y, 20);
setfillcolor(getbkcolor());
solidcircle(x - 20, y - 20, 20);
solidcircle(x + 20, y - 20, 20);
solidcircle(x - 20, y + 20, 20);
solidcircle(x + 20, y + 20, 20);
return;
}
int main() {
srand((unsigned int)time(NULL));
initgraph(640, 480);
setfillcolor(YELLOW);
solidcircle(450, 80, 50);
star(50, 50);
star(570, 400);
star(300, 60);
star(250, 300);
star(50, 400);
for (int i = 0; i < 100; i++) {
putpixel(rand() % 640, rand() % 480, YELLOW);
}
_getch();
closegraph();
return 0;
}
자, 오늘은 여기까지입니다. 기사에 참조가 있습니다. 마음에 드시면 지원해주세요!