#include #include #include "pgm.h" #include "erreurs.h" #include "exit_if.h" const int largeur = 100; const int hauteur = 100; static void message_de_terminaison(void) { if (exit_message == err_malloc) fprintf(stderr, "Une erreur mémoire s'est produite durant " "la construction de l'image.\n" "Vous avez dû demander une taille trop grande.\n"); else fprintf(stderr, "Image créée\n"); } int main(int argc, char *argv[]) { if (argc != 5) { fprintf(stderr, "Usage: %s largeur hauteur espacement couleur\n", argv[0]); return EXIT_FAILURE; } atexit(message_de_terminaison); int largeur = strtol(argv[1], NULL, 10); int hauteur = strtol(argv[2], NULL, 10); int espacement = strtol(argv[3], NULL, 10); pgm_creer(strtol(argv[1], NULL, 10), strtol(argv[2], NULL, 10)); pgm_initialiser(strtol(argv[3], NULL, 10)); for (int i = 0; i < hauteur; i++) { for (int j = 0; j < largeur; j++) { /* Hachure noire */ if (espacement != 0 && (i+j) % espacement == 0) pgm_ecrire_pixel(i, j, 0); /* Hachure blanche */ if (espacement != 0 && (i-j) % espacement == 0) pgm_ecrire_pixel(i, j, 255); } } pgm_ecrire_image(stdout); return EXIT_SUCCESS; }