그래픽 라이브러리 - 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();
}
실행 결과



