Welcome to Photo-Composition-Designer#

Photo-Composition-Designer is a tool designed to automate the creation of beautiful image-based calendars. The system sorts images, generates collages, adds descriptions and maps, and formats everything into a structured calendar layout.

Github CI Status GitHub release Read the Docs License GitHub issues PyPI Downloads

๐Ÿ› ๏ธ Features#

  • โœ… Automated Calendar Generation โ€“ Generates a full image-based calendar.
  • โœ… Configurable Settings โ€“ Modify sizes, layouts, and text via config.yaml.
  • โœ… Anniversaries & Events โ€“ Load anniversaries and special dates using anniversaries.ini.
  • โœ… Location-Based Maps โ€“ Integrate maps showing image locations using gps meta-data or image names and locations.ini.
  • โœ… GUI Configuration Tool โ€“ Easily modify configurations via a dynamic UI.
  • โœ… Folder Management โ€“ Automatically structures and organizes images into necessary folders.

Main GUI


Installation via executable:#

Download the latest executable:

Installation via pypi#

Get an impression of how your own project could be installed and look like.

Download from PyPI.

๐Ÿ’พ For more installation options see install.

pip install Photo-Composition-Designer

or

pipx install Photo-Composition-Designer

Run GUI from command line

Photo-Composition-Designer-gui

๐Ÿ”„ Workflow#

1๏ธโƒฃ Configuring the parameters#

You can adjust the result by setting up your own parameters like size, margins and colors. For more details, see Configuration Parameters. Modify your settings inside the config.yaml or using the GUI: - Image sizes (mm converted to pixels internally) - Calendar layout - Paths to anniversaries.ini and locations.ini - Fonts and Colors

Settings GUI

2๏ธโƒฃ Sorting Images into Folders#

Organize your images in the images/ directory before running the generator. You can use one of the distribution methods to distribute your plain images inside this directory into sub-folders that represent your weekly collage content.

๐Ÿ“ images/
โ”œโ”€โ”€ ๐Ÿ“ title/
โ”‚   โ””โ”€โ”€ ๐Ÿ–ผ๏ธ title_image.jpg
โ”œโ”€โ”€ ๐Ÿ“ week_1/
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ valentines_dinner_in_London.jpg
โ”‚   โ””โ”€โ”€ ๐Ÿ–ผ๏ธ ski_trip.jpg
โ”œโ”€โ”€ ๐Ÿ“ week_2/
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ new_year_hike.jpg
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ cooking_class.jpg
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ first_snowfall.jpg
โ”‚   โ””โ”€โ”€ ...
โ””โ”€โ”€ ๐Ÿ“„ descriptions.txt

3๏ธโƒฃ Provide Descriptions ๐Ÿ–ฅ๏ธ#

Provide descriptions for every week to describe the events.

You can use one single description.txt file that can be generated using the GUI or you can put individual txt files into every single weekly sub folder.

4๏ธโƒฃ Setting up the birthday dates ๐ŸŽ‚๐Ÿ“…#

Provide the birthday information of your friends and family by using the anniversaries.ini

[Birthdays]

Paul = 6.1.1984
Peter = 08.01.99
Liz = 09.01.
Anna = 10.01.

[Weddings]
Mary & Josh = 02.01.2021    ; โšญ Symbol is used for Weddings

5๏ธโƒฃ Generating the Calendar ๐Ÿ–ผ๏ธ#

Use Generate Composition to generate all collages and one PDF file containing all your compositions.

collages.png

6๏ธโƒฃ Printing the Calendar ๐Ÿ–จ๏ธ#

Send the generated PDF to your printer or local print shop for high-quality printing.

A very good print shop for Germany is WIRmachenDRUCK .


If you find this app helpful, Funding is highly appreciated ๐Ÿงก.