커뮤니티 | 큐티/임베디드/큐토피아 | PODO | SDL | 마이크로윈도우 | 리눅스프로그래밍 | 기타 | 포인트순위 | 최근게시물최근게시물 RSS  
korone.net에 다루었으면 하는것은요?
 
 
 
 
 
959
1,398
3,878
3,987,580
  현재접속자 : 86 (회원 0)






배너 신청 문의

 
작성일 : 05-08-11 14:44
왕초보를 위한 Nano-X 2편 (이미지 관련 함수 분석)
 글쓴이 : 냐옹이
조회 : 15,838  
nano-X에서 제공하는 이미지 관련 함수들은 아래와 같은 것들이 있습니다.

GrLoadImageFromFile()
GrDrawImageToFit()
GrDrawImageFromFile()
GrGetImageInfo()
GrFreeImage()
GrDrawImageBits()
GrDrawImageFromBuffer()
GrLoadImageFromBuffer()

하나하나 용도에 따라 분석해 보겠습니다.

1. GrLoadImageFromFile()
GR_IMAGE_ID
GrLoadImageFromFile(char *path, int flags)
이미지가 있는 경로를 받아 이미지를 읽어들입니다.
여기서 얻은 GR_IMAGE_ID를 통해 이미지를 다룰 수 있습니다.
flags는 JPEG이미지의 경우에 한해서 grayscale로 읽을 수 있도록 합니다.

2. GrDrawImageToFit()
void
GrDrawImageToFit(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,
    GR_SIZE width, GR_SIZE height, GR_IMAGE_ID imageid)
얻은 GR_IMAGE_ID를 가지고 원하는 윈도우에 원하는 위치, 크기로 scale해서 그려줍니다.

3. GrDrawImageFromFile()
void
GrDrawImageFromFile(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,
    GR_SIZE width, GR_SIZE height, char* path, int flags)
GrLoadImageFromFile()과 GrDrawImageToFit()를 합쳐놓은 함수입니다.
이미지를 바로 읽어서 출력합니다. 단 GR_IMAGE_ID를 얻을 수 없으므로
이미지를 한 번 출력한 뒤 다시 사용할 수 없습니다. 다시 이미지를 로드해야 합니다.

4. GrGetImageInfo()
void
GrGetImageInfo(GR_IMAGE_ID id, GR_IMAGE_INFO *iip)
읽어들인 이미지에 대한 정보를 얻을 수 있습니다. 예를 들면 이미지의 높이, 폭 등...

5. GrFreeImage()
void
GrFreeImage(GR_IMAGE_ID id)
사용이 끝난 이미지를 free할 때 사용합니다.

6. GrDrawImageBits()
void
GrDrawImageBits(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y,
    GR_IMAGE_HDR *pimage)
nano-X에서 제공하는 convbmp라는 프로그램을 통해 bmp파일을 c파일 형태로 만들 수 있습니다.
이 c파일에 GR_IMAGE_HDR이 생성되는데 이 파일을 읽어들여 그리기 위한 함수입니다.

7. GrDrawImageFromBuffer()
GrLoadImageFromBuffer()
이 두 함수는 예제도 없어서 어디에 쓸지 잘 모르겠군요...-_-;


원하는 함수의 조합으로 이미지 관련 대부분의 일을 할 수 있습니다.

참고로 지원하는 이미지 포맷으로는 TIFF, BMP, GIF, JPEG, PNG, PNM, XPM 등이 있습니다.



 
 

Total 17
번호 제   목 글쓴이 날짜 조회
17 timer 사용하는 방법 입니다.. 토마토 08-28 18932
16 마이크로윈도우 nano-X api 간단 [tip] 토마토 09-01 21238
15 nano-x에서의 이벤트 처리 (1) 조규봉 01-24 24010
14 왕초보를 위한 Nano-X 5편 (freetype font) 냐옹이 01-02 21787
13 왕초보를 위한 Nano-X 4편 (한글 기본 폰트) 냐옹이 12-28 24645
12 왕초보를 위한 Nano-X 3편 (window 생성) 냐옹이 08-24 19540
11 왕초보를 위한 Nano-X 2편 (이미지 관련 함수 분… 냐옹이 08-11 15839
10 왕초보를 위한 Nano-X 1편 (helloworld.c 분석하기) 냐옹이 08-08 15428
9 microwindows 한글 TrueType fonts 출력하기 최고관… 06-16 14474
8 Cygwin 에서 Microwindows 컴파일 하기 (2) 채영훈 04-07 20820
7 메뉴구성 및 글자색 변경 참고 소스 (8) 장진혁 12-17 21145
6 한글 출력 방법 및 예제 소스 (2) 장진혁 12-13 14782
5 Keyboard Event 입력 처리 소스 장진혁 12-13 16233
4 이미지 출력 소스 장진혁 12-13 14307
3 Hello World 소스 장진혁 12-13 13575
2 Microwindows 0.90 설치 (1) 장진혁 12-13 17722
1 microwindows 한글 TrueType fonts 출력하기 (5) 김용오 12-16 15629


About korone.net | Copyright 2003 korone.net. All rights reserved.