QPixmap ImageFilter::operator ()(QPixmap sourcePixmap, Filter::FilterType filter, int delta)
{
    QImage origin(sourcePixmap.toImage());

    switch (filter)
    {
    case Filter::Gray_Scale:
        return grayScale(origin);
        break;
    case Filter::Brightness:
        return brightness(origin, delta);
        break;
    case Filter::Temperature:
        return temperature(origin, delta);
        break;
    case Filter::Saturation:
        return saturate(origin, delta);
        break;
    case Filter::Blur:
        return blur(origin);
        break;
    case Filter::Sharpen:
        return sharpen(origin);
        break;
    case Filter::Sepia:
        return sepia(origin);
        break;
    }
}
Exemple #2
0
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QMainWindow::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: openFile(); break;
        case 1: applyChanges(); break;
        case 2: saveFile(); break;
        case 3: exit(); break;
        case 4: effects(); break;
        case 5: zoom(); break;
        case 6: resize(); break;
        case 7: crop(); break;
        case 8: rotateRight(); break;
        case 9: rotateLeft(); break;
        case 10: mirror(); break;
        case 11: reflection(); break;
        case 12: grayScale(); break;
        case 13: xray(); break;
        case 14: sepia(); break;
        default: ;
        }
        _id -= 15;
    }
    return _id;
}
Exemple #3
0
void		filter(t_rt *rt)
{
  if (rt->eye->filter == 3)
    negative(rt);
  else if (rt->eye->filter == 2)
    black_and_white(rt);
  else if (rt->eye->filter == 1)
    sepia(rt, 0);
}
Exemple #4
0
/* Donne dans le tp. Par la suite, on n'utilise plus cette fonction */
int copier_bmp(int de, int vers){
	unsigned char *pixels;	
	entete_bmp entete;
	/* lecture du fichier source */
	lire_entete(de, &entete);
	pixels = allouer_pixels(&entete);
	lire_pixels(de, &entete, pixels);
	/* écriture du fichier destination */
	rouge(&entete, pixels);
	negatif(&entete, pixels);
	moitie(&entete, pixels,1);
	sepia(&entete, pixels);
	noir_et_blanc(&entete, pixels);
	ecrire_entete(vers, &entete);
	ecrire_pixels(vers, &entete, pixels);	
	/* on libère les pixels */
	free(pixels);
	return 1; /* on a réussi */
}
Exemple #5
0
int main(int argc, char **argv)
{

	/* Pas d'argument */
	if (argc == 1)
		usage(argv[0]);

    /* Initialisation */
	int c;
	char *nom = NULL;
	int de = open("lena.bmp", O_RDONLY);
	entete_bmp entete;
	unsigned char *pixels;

	if (de < 0){
		printf("erreur fichier entree\n");
		exit(EXIT_FAILURE);
	}else{
    /* Lecture du fichier source */
		lire_entete(de, &entete);
		pixels = allouer_pixels(&entete);
		lire_pixels(de, &entete, pixels);
	}

	while ((c = getopt(argc, argv, "rnbmia")) != -1) {
		switch (c) {
			case 'r':
			rouge(&entete, pixels);
			break;
			case 'n':
			negatif(&entete, pixels);
			break;
			case 'b':
			noir_et_blanc(&entete, pixels);
			break;
			case 'm':
			moitie(&entete, pixels, 1);
			break;
			case 'i':
			moitie(&entete, pixels, 0);
			break;
			case 'a':
			sepia(&entete, pixels);
			break;
			default :
			tuto(argv[0]);
			break;
		}
	}

	/* Lecture de l'option facultative (nom fichier) */
	int index;
	for (index = optind; index < argc; index++) {
		if (nom == NULL)
			nom = argv[index];
		else
			printf ("L'option %s a été ignoré.\n", argv[index]);
	}

    /* On écrit dans le fichier de destination */
	int vers;
	if (nom == NULL)
		vers = open("lena_out.bmp", O_WRONLY | O_CREAT, 0644);
	else 
		vers = open(nom, O_WRONLY | O_CREAT, 0644);

	if (vers < 0){
		printf("erreur fichier sortie\n");
		exit(EXIT_FAILURE);
	}else{
    /* Écriture du fichier destination */
		ecrire_entete(vers, &entete);
		ecrire_pixels(vers, &entete, pixels);
	}
    /* On libère les pixels */
	free(pixels);

	return EXIT_SUCCESS;
}