image_io.c 609 Bytes
Newer Older
1 2 3 4 5
#include "image_io.h"
#include "bmp_format.h"

enum read_status read_image(const char* path, struct image* img) {
    FILE* fin = fopen(path, "r");
Ivan Nabiullin's avatar
Ivan Nabiullin committed
6 7 8 9 10
    if (!img) return READ_IMAGE_NULL;
    if (!fin) return READ_FILE_CLOSED;
    enum read_status read_status = from_bmp(fin, img);
    fclose(fin);
    return read_status;
11 12 13 14
}

enum write_status write_image(const char* path, struct image* img) {
    FILE* fout = fopen(path, "w");
Ivan Nabiullin's avatar
Ivan Nabiullin committed
15 16 17 18 19
    if (!img) return WRITE_IMAGE_NULL;
    if (!fout) return WRITE_FILE_CLOSED;
    enum write_status write_status = to_bmp(fout, img);
    fclose(fout);
    return write_status;
20
}