Example #1
0
void test_file_writing() {
	fprintf(stderr, "Corriendo test_file_writing\n");
	write_file_bw(stdout, 1024, 1024, &qMatrix_70);
}
Example #2
0
int main() {
    int choice;
    int is_colored;

    while (1) {
        system("cls");
        printf("0. Exit\n\n\n"
               "1. Read from file\n"
               "2. Write to file\n"
               "3. Algorithms\n\n\n"
               "Enter a number (0-3): ");

        scanf("%d", &choice);

        switch (choice) {
            case 0:
                system("cls");
                printf("Exiting the program...\n\n\n\n");

                if (release_mem && !is_colored) {
                    free_memory_bw(&image_in, &image_out);
                } else if (release_mem && is_colored) {
                    free_memory_color(&image_in_r, &image_in_g, &image_in_b, &image_out_r, &image_out_g, &image_out_b);
                }

                return EXIT_SUCCESS;
                break;
            case 1: // Read from file
                system("cls");

                FILE *fp_in = NULL;     // File Pointer for image_in
                char answer[4];
                char filename_in[20];   // Filename for input image

                printf("Colored image? (Y/N): ");
                scanf("%s", answer);

                if (strcmp("y", answer) == 0 || strcmp("Y", answer) == 0 || strcmp("yes", answer) == 0 || strcmp("YES", answer) == 0) {
                    is_colored = 1;
                    read_file_color(&image_in_r, &image_in_g, &image_in_b, &image_out_r, &image_out_g, &image_out_b, filename_in, fp_in);
                    release_mem = 1;
                } else if (strcmp("n", answer) == 0 || strcmp("N", answer) == 0 || strcmp("no", answer) == 0 || strcmp("NO", answer) == 0) {
                    is_colored = 0;
                    read_file_bw(&image_in, &image_out, filename_in, fp_in);
                    release_mem = 1;
                } else {
                    printf("Wrong answer!");
                    system("pause");
                    return EXIT_SUCCESS;
                }

                system("pause");
                break;
            case 2: // Write to file
                system("cls");

                FILE *fp_out = NULL;   // File Pointer for image_out
                char filename_out[20]; // Filename for output image

                if (is_colored) {
                    write_file_color(&image_out_r, &image_out_g, &image_out_b, filename_out, fp_out);
                } else {
                    write_file_bw(&image_out, filename_out, fp_out);
                }

                release_mem = 1;
                break;
            case 3: // Algorithms
                algorithms_menu(is_colored);
                break;
            default:
                system("cls");
                printf("WRONG CHOICE! Enter a different number! (0-3)\n\n\n");
                system("pause");
        }
    }
}