OSDN Git Service

add function bitmap_size
authorよや <yoya@awm.jp>
Tue, 8 Nov 2011 18:00:56 +0000 (03:00 +0900)
committerよや <yoya@awm.jp>
Tue, 8 Nov 2011 18:00:56 +0000 (03:00 +0900)
src/bitmap_util.c
src/bitmap_util.h

index 9cbd373..392e7b0 100644 (file)
@@ -96,6 +96,23 @@ detect_bitmap_format(unsigned char *data, unsigned long data_len) {
     return BITMAP_UTIL_FORMAT_UNKNOWN;
 }
 
+int
+bitmap_size(unsigned char *data, unsigned long data_len,
+                    int *width, int *height) {
+    int format = detect_bitmap_format(data, data_len);
+    switch (format) {
+    case BITMAP_UTIL_FORMAT_JPEG:
+        return jpeg_size(data, data_len, width, height);
+    case BITMAP_UTIL_FORMAT_PNG:
+        return png_size(data, data_len, width, height);
+    case BITMAP_UTIL_FORMAT_GIF:
+        return git_size(data, data_len, width, height);
+    }
+    fprintf(stderr, "bitmap_size: illegal format\n");
+    return 1;
+}
+
+
 #ifdef __BITMAP_UTIL_DEBUG__  /* for component debug */
 
 #include <sys/stat.h>
index 656ab33..e8ed8a6 100644 (file)
@@ -22,6 +22,9 @@ extern int gif_size(unsigned char *data, unsigned long data_len,
 
 extern int detect_bitmap_format(unsigned char *data, unsigned long data_len);
 
+extern int bitmap_size(unsigned char *data, unsigned long data_len,
+                     int *width, int *height);
+
 #define BITMAP_UTIL_FORMAT_UNKNOWN 0
 #define BITMAP_UTIL_FORMAT_JPEG    1
 #define BITMAP_UTIL_FORMAT_PNG     2