/* Cataract - Static web photo gallery generator * Copyright (C) 2008 Tomas Bzatek * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef __cplusplus extern "C" { #endif #include /* TODO: we want to have numerical values here at some point in the future */ typedef struct { char *datetime; char *camera_model; char *iso; char *focal_length; char *focal_length_35mm; char *aperture; char *exposure; char *flash; char *exif_software; char *exif_imgdesc; char *exif_artist; char *exif_copyright; char *exif_usercomment; char *iptc_objectname; char *iptc_copyright; char *iptc_credit; char *iptc_caption; char *iptc_author; char *jpeg_comment; } TExifData; /* * get_exif: retrieve EXIF info from a JPEG image */ int get_exif (const char *filename, TExifData **exif_data); /* * free_exif_struct: free allocated structure */ void free_exif_data (TExifData *data); /* * resize_image: resize image pointed by src and save result to dst * - setting thumbnail flag will remove all profiles and optimize for size */ gboolean resize_image (const char *src, const char *dst, int size_x, int size_y, int quality, gboolean thumbnail); /* * get_image_sizes: retrieve image dimensions */ void get_image_sizes (const char *img, unsigned long *width, unsigned long *height); /* * calculate_sizes: calculate maximal image sizes within specified limits keeping aspect ratio */ void calculate_sizes (const unsigned long max_width, const unsigned long max_height, unsigned long *width, unsigned long *height); /* * strip_thumbnail: strip thumbnail stored in EXIF table */ void strip_thumbnail (const char *filename); #ifdef __cplusplus } #endif