Project task no. 21 for "Fundamentals of Computer Graphics" course, 2024 (AGH, WFiIS)
In today's digital age, embedding additional information in digital photo files has become standard practice. The two most popular standards, EXIF (Exchangeable Image File Format) and IPTC (International Press Telecommunications Council), allow for storing various data in image files. EXIF stores information such as the date and time a photo was taken, camera settings (like exposure time, aperture, ISO sensitivity), and camera model details. IPTC, commonly used in journalism and publishing, allows adding diverse information to images, such as headlines, descriptions, keywords, authorship, and copyright details. However, these metadata are not always easily accessible without special tools.
Our project aims to create an application in which users can load photos, browse, and modify their metadata (EXIF and IPTC). It offers many options to modify the photos and save those changes into new files.
The user interface consists of the following components:
- Photo Display Area: Shows all photos from the selected folder.
- Load File with Texts (D): Annotates images with data from a .txt file.
- Save Text Everywhere (C): Annotates all selected photos with EXIF data.
- Save Text (B): Annotates a selected photo with EXIF data.
- Save Data (A): Exports paths and EXIF data of all photos to a .txt file.
- Rotate Photo: Rotates the photo and displays EXIF data.
- Save IPTC Data: Saves edited IPTC data.
- Load Photos: Loads photos from a selected folder.
- IPTC Data Table: Displays and allows editing of IPTC data (title, release date, city, country, author, keywords).
- EXIF Data Display: Shows detailed EXIF data of selected photos.
- Programming Language: C++
- Libraries: wxWidgets, FreeImage
- UI Design Tool: wxFormBuilder
The FreeImage library was essential for easy access to IPTC and EXIF data.