diff options
Diffstat (limited to 'test/screencapture.c')
-rw-r--r-- | test/screencapture.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/screencapture.c b/test/screencapture.c new file mode 100644 index 0000000..1ac8d2c --- /dev/null +++ b/test/screencapture.c @@ -0,0 +1,36 @@ +#include <stdio.h> +#include <stdlib.h> +#include <cd.h> +#include <cdnative.h> +#include <im.h> + +void main() +{ + cdCanvas *cd_canvas; + unsigned char *red, *green, *blue; + int width, height, size; + + cd_canvas = cdCreateCanvas(CD_NATIVEWINDOW, NULL); + if (!cd_canvas) + { + printf("Error creating canvas.\n"); + return; + } + + cdActivate(cd_canvas); + + cdGetCanvasSize(&width, &height, NULL, NULL); + size = width * height; + red = (unsigned char*)calloc(size, 1); + green = (unsigned char*)calloc(size, 1); + blue = (unsigned char*)calloc(size, 1); + + cdGetImageRGB(red, green, blue, 0, 0, width, height); + imSaveRGB(width, height, IM_JPG|IM_COMPRESSED, red, green, blue, "scap.jpg"); + + cdKillCanvas(cd_canvas); + + free(red); + free(green); + free(blue); +} |