aboutsummaryrefslogtreecommitdiff
path: root/src/ImageUtils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ImageUtils.cpp')
-rw-r--r--src/ImageUtils.cpp15
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;
}