Example #1
0
int main(int argc, char** argv)
{
	image* img;
	image* img2;
	int i, j;
	int x, y, w, h;
	if(argc != 7)
	{
		printf("Invalid number of arguments. Please try again\n");
		return 1;
	}
	
	x = atoi(argv[3]);
	y = atoi(argv[4]);
	w = atoi(argv[5]);
	h = atoi(argv[6]);

	while(x < 0)
	{
		printf("Please enter a valid x position:\n>");
		scanf("%d", &x);
	}
	while(y < 0)
	{
		printf("Please enter a valid y opsition:\n>");
		scanf("%d", &y);
	}
	
	img = open(argv[1]);
	
	if(w + x > img->width)
	{
		w = img->width - x - 1;
	}
	if(h + y > img->height)
	{
		h = img->height - y - 1;
	}
	
	img2 = newImg(w, h);

	for(i = 0; i < img2->height; i++)
	{
		for(j = 0; j < img2->width; j++)
		{
			img2->pix[i][j].red = img->pix[i + y][j + x].red;
			img2->pix[i][j].green = img->pix[i + y][j + x].green;
			img2->pix[i][j].blue = img->pix[i + y][j + x].blue;
			img2->pix[i][j].alpha = img->pix[i + y][j + x].alpha;
		}
	}

	save(img2, argv[2]);
	freeImg(img);
	freeImg(img2);
	return 0;
}
Example #2
0
void
srf_term(struct srf * const srfP) {

    unsigned int i;
    
    free(srfP->header.s578.val);
    free(srfP->header.ver.val);
    free(srfP->header.prod.val);

    for (i = 0; i < srfP->header.img_cnt; ++i)
        freeImg(&srfP->imgs[i]);

    free(srfP->imgs);
}
int			main(int ac, char **av)
{
    if (ac < 3)
        return EXIT_SUCCESS;

    int w = atoi(av[1]);
    int h = atoi(av[2]);
    unsigned short **img = NULL;

    initImg(&img, w, h);
    drawLines(img, w, h);
    registerImage(img, w, h, "lines.jmc");
    freeImg(img, h);
    return EXIT_SUCCESS;
}
Example #4
0
int main(int argc, char** argv)
{
	image* img;
	int i;
	int j;
	int avg;

	if(argc != 3)
	{
		printf("Invalid number of arguments. Please try again\n");
		return 1;
	}

	img  = open(argv[1]);

	for(i = 0; i < img->height; i++)
	{
		for(j = 0; j < img->width; j++)
		{
			unsigned char r, g, b;
			r = img->pix[i][j].red;
			g = img->pix[i][j].green;
			b = img->pix[i][j].blue;
			
			avg = (r + b + g) / 3;
			
			img->pix[i][j].red = avg;
			img->pix[i][j].green = avg;
			img->pix[i][j].blue = avg;
		
		}
	}

	save(img, argv[2]);
	freeImg(img);
	return 0;
}