diff options
Diffstat (limited to 'src/ImageUtils.cpp')
-rw-r--r-- | src/ImageUtils.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/ImageUtils.cpp b/src/ImageUtils.cpp index 5f493d1..a0b2c1e 100644 --- a/src/ImageUtils.cpp +++ b/src/ImageUtils.cpp @@ -98,7 +98,7 @@ namespace QuickMedia { // TODO: Also support exif files. Exif files are containers for jpeg, tiff etc so once tiff has been implemented so can exif. // Exif header is similar to jpeg. - bool image_get_resolution(const Path &path, int *width, int *height) { + bool image_get_resolution(const Path &path, int *width, int *height, ImageType *image_type) { FILE *file = fopen(path.data.c_str(), "rb"); if(!file) return false; @@ -107,12 +107,19 @@ namespace QuickMedia { size_t bytes_read = fread(data, 1, sizeof(data), file); fclose(file); - if(png_get_size(data, bytes_read, width, height)) + if(png_get_size(data, bytes_read, width, height)) { + if(image_type) + *image_type = ImageType::PNG; return true; - else if(gif_get_size(data, bytes_read, width, height)) + } else if(gif_get_size(data, bytes_read, width, height)) { + if(image_type) + *image_type = ImageType::GIF; return true; - else if(jpeg_get_size(data, bytes_read, width, height)) + } else if(jpeg_get_size(data, bytes_read, width, height)) { + if(image_type) + *image_type = ImageType::JPG; return true; + } return false; } |