37 lines
775 B
C
37 lines
775 B
C
|
#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);
|
||
|
}
|