그래픽 라이브러리 - gxLib
글 수 28
설명
gx_compatible_dc()는 인수로 받은 DC에 대한 복사본을 만들어 줍니다. DC와 DC의 복사본을 이용하면 gx_bitblt() 나 gx_bitblt_mask()를 사용할 때, 색상 bit단위가 아닌 byte 단위로 복사 되기 때문에 매우 빠르게 복사를 진행할 수 있어, 보다 빠른 그래픽 출력을 연출할 수 있습니다.
헤더 | gx.h | |||
형태 | dc_t *gx_get_compatible_dc( dc_t *dc) | |||
인수 |
|
|||
반환 |
|
예제
int main( void) { dc_t *dc_screen; // 화면 Device Context dc_t *dc_fore; // 평소 출력할 이미지 dc_t *dc_back; // 색상이 선택되었을 때 출력할 이미지 dc_t *dc_mask; // mask 이미지 color_t color; gx_init( "/dev/fb"); dc_screen = gx_get_screen_dc(); dc_fore = gx_get_compatible_dc( dc_screen); dc_back = gx_get_compatible_dc( dc_screen); dc_mask = gx_get_compatible_dc( dc_screen); gx_open_file( dc_fore, "gx_bitblt_mask_fore.bmp"); gx_open_file( dc_back, "gx_bitblt_mask_back.bmp"); gx_open_file( dc_mask, "gx_bitblt_mask_mask.bmp"); gx_bitblt( dc_screen, 0, 0, dc_fore, 0, 0, dc_screen->width, dc_screen->height); getchar(); gx_get_pixel( dc_mask, 200, 300, &color); gx_bitblt_mask( dc_screen, dc_back, dc_mask, color, 24, 45, 530, 414); getchar(); gx_bitblt_mask( dc_screen, dc_fore, dc_mask, color, 24, 45, 530, 414); getchar(); gx_get_pixel( dc_mask, 365, 165, &color); gx_bitblt_mask( dc_screen, dc_back, dc_mask, color, 333, 133, 82, 89); getchar(); gx_bitblt_mask( dc_screen, dc_fore, dc_mask, color, 333, 133, 82, 89); gx_release_dc( dc_back); gx_release_dc( dc_mask); gx_release_dc( dc_fore); gx_release_dc( dc_screen); gx_close(); }
실행 결과