C 언어의 카이로 그래 픽 라 이브 러 리 를 이용 하여 태극 도 인 스 턴 스 튜 토리 얼 을 그립 니 다.

머리말
아마도 많은 사람들 이 C 언어 로 그림 을 그 리 는 것 에 대해 Turbo C 의 graphics.h 년대 에 머 물 렀 을 것 이다.교육 이 노화 되 는 원인 도 있 을 것 이다.예전 의 경전 은 이미 옛일 이 되 었 기 때문에 여러 가지 방법 으로 호 환 되 는 도형 고 를 찾 는 것 보다 찬란 한 내일 을 안 는 것 이 낫다.Cario(http://cairographics.org/)매우 뛰어난 2D 그래 픽 라 이브 러 리 로 유명한 GTK+3.0 은 Cario 를 그래 픽 엔진 으로 사용 하여 강력 함 과 흡인력 을 알 수 있다.
Cario 는 X Window,Quartz,Win 32,image.buffers,PostScript,PDF 와 SVG 파일 등 다양한 출력 장 치 를 지원 하 며 오픈 소스 와 크로스 플랫폼 을 지원 합 니 다.아마도 누군가가 이렇게 강 한 물건 을 사용 하 는 것 이 매우 까다 로 울 것 이 라 고 생각 할 것 이다.사실은 그렇지 않 으 면 API 함수 가 의외로 간단 하고 사용 하기 쉽다.이 글 은 여기 서 태극 도 를 그 리 는 예 를 보 여 주 며 참고 하도록 한다.
인 스 턴 스 코드 는 다음 과 같 습 니 다.

#include <cairo.h> 
 
#define SIZE (640) /*       */ 
#define CX (SIZE / 2) /*          */ 
#define CY (SIZE / 2) /*          */ 
#define R (SIZE / 2) /*       */ 
 
/*              */ 
#define ANGLE(ang) (ang * 3.1415926 / 180.0) 
 
int main(int argc, char *argv[]) 
{ 
 /*   32 RGBA     Cairo    ,   Memory    */ 
 cairo_surface_t* surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, SIZE + 1, SIZE + 1); 
 cairo_t* cr = cairo_create(surface); 
 
 /*        */ 
 cairo_set_line_width(cr, 2.0); 
 cairo_set_source_rgba(cr, 0, 0, 0, 1); 
 cairo_arc(cr, CX, CY, R, ANGLE(0), ANGLE(360)); 
 cairo_stroke(cr); 
 
 /*       */ 
 cairo_set_source_rgba(cr, 0, 0, 0, 1); 
 cairo_arc(cr, CX, CY, R, ANGLE(90), ANGLE(270)); 
 cairo_fill(cr); 
 cairo_set_source_rgba(cr, 1, 1, 1, 1); 
 cairo_arc(cr, CX, CY, R, ANGLE(-90), ANGLE(90)); 
 cairo_fill(cr); 
 
 /*       */ 
 cairo_set_source_rgba(cr, 0, 0, 0, 1); 
 cairo_arc(cr, CX, CY - R / 2, R / 2, ANGLE(-90), ANGLE(90)); 
 cairo_fill(cr); 
 cairo_set_source_rgba(cr, 1, 1, 1, 1); 
 cairo_arc(cr, CX, CY + R / 2, R / 2, ANGLE(90), ANGLE(270)); 
 cairo_fill(cr); 
 
 /*       */ 
 cairo_set_source_rgba(cr, 1, 1, 1, 1); 
 cairo_arc(cr, CX, CY - R / 2, R / 10, ANGLE(0), ANGLE(360)); 
 cairo_fill(cr); 
 cairo_set_source_rgba(cr, 0, 0, 0, 1); 
 cairo_arc(cr, CX, CY + R / 2, R / 10, ANGLE(0), ANGLE(360)); 
 cairo_fill(cr); 
 
 /*  Memory            */ 
 cairo_surface_write_to_png(surface, "taichi.png"); 
 /*      Cairo     */ 
 cairo_destroy(cr); 
 cairo_surface_destroy (surface); 
 
 return 0; 
} 
코드 는 매우 간단 합 니 다.이 를 통 해 벽돌 을 던 져 옥 을 끌 어 올 리 고 더 많은 사람들 이 카 리 오 그래 픽 라 이브 러 리 를 좋아 하 기 를 바 랍 니 다.GCC 를 컴 파일 하면 다음 명령 을 참고 할 수 있 습 니 다.

gcc -o taichi $(pkg-config --cflags --libs cairo) taichi.c 
운행 후의 효 과 는 이 렇 습 니 다.여러분 이 한번 해 보 세 요.

총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 댓 글 을 남 겨 주 십시오.

좋은 웹페이지 즐겨찾기