PhotoCollage
============
.. image::
https://travis-ci.org/adrienverge/PhotoCollage.svg?branch=master
:target: https://travis-ci.org/adrienverge/PhotoCollage
:alt: CI tests status
*Graphical tool to make photo collage posters*
PhotoCollage allows you to create photo collage posters. It assembles the input
photographs it is given to generate a big poster. Photos are automatically
arranged to fill the whole poster, then you can change the final layout,
dimensions, border or swap photos in the generated grid. Eventually the final
poster image can be saved in any size.
The algorithm generates random layouts that place photos while taking advantage
of all free space. It tries to fill all space while keeping each photo as
large as possible.
PhotoCollage does more or less the same as many commercial websites do, but
for free and with open-source code.
.. image::
screenshots/photocollage-1.4-preview.png
:alt: screenshot
It provides a library to create photo layouts and posters, and a GTK graphical
user interface. PhotoCollage is written in Python (compatible with versions 2
and 3) and requires the Python Imaging Library (PIL).
Features:
* generate random new layouts until one suits the user
* choose border color and width
* possible to swap photos in the generated grid
* save high-resolution image
* works even with a large number of photos (> 100)
* integrates into the GNOME environment
* available in English, French, German, Czech, Italian, Bulgarian, Dutch, Russian, Spanish, Polish and Ukrainian
Installation
------------
* Fedora 19+:
.. code:: bash
sudo dnf install photocollage
* Debian 9+ / Ubuntu 16.10+:
.. code:: bash
sudo apt-get install photocollage
* Using pip, the Python package manager:
.. code:: bash
sudo pip3 install photocollage
Usage
-----
After install a launcher for PhotoCollage will appear in your desktop menu.
If it doesn't, just run the command:
.. code:: bash
photocollage
Hacking
-------
* If you changed the source and want to test your modifications, run:
.. code:: bash
python -c 'from photocollage import gtkgui; gtkgui.main()'
* If you need to build a package from source and install it:
.. code:: bash
# Install dependencies
sudo dnf install python3-pillow python3-gobject
sudo apt-get install python3-pil python3-gi
sudo pacman -S python-pillow python-gobject
# Install PhotoCollage
python -m build
pip install --user --upgrade dist/photocollage-*.tar.gz
* If you wish to contribute, please lint your code and pass tests:
.. code:: bash
flake8 .
python -m unittest tests/test_*.py
Raw data
{
"_id": null,
"home_page": null,
"name": "photocollage",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "photocollage, photo, collage, poster, mosaic, image",
"author": "Adrien Verg\u00e9",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/9b/c8/674b559cf9727f769e0d8aa19a7a112fbb8224803e39d01283f7786c31c0/photocollage-1.5.0.tar.gz",
"platform": null,
"description": "PhotoCollage\n============\n\n.. image::\n https://travis-ci.org/adrienverge/PhotoCollage.svg?branch=master\n :target: https://travis-ci.org/adrienverge/PhotoCollage\n :alt: CI tests status\n\n*Graphical tool to make photo collage posters*\n\nPhotoCollage allows you to create photo collage posters. It assembles the input\nphotographs it is given to generate a big poster. Photos are automatically\narranged to fill the whole poster, then you can change the final layout,\ndimensions, border or swap photos in the generated grid. Eventually the final\nposter image can be saved in any size.\n\nThe algorithm generates random layouts that place photos while taking advantage\nof all free space. It tries to fill all space while keeping each photo as\nlarge as possible.\n\nPhotoCollage does more or less the same as many commercial websites do, but\nfor free and with open-source code.\n\n.. image::\n screenshots/photocollage-1.4-preview.png\n :alt: screenshot\n\nIt provides a library to create photo layouts and posters, and a GTK graphical\nuser interface. PhotoCollage is written in Python (compatible with versions 2\nand 3) and requires the Python Imaging Library (PIL).\n\nFeatures:\n\n* generate random new layouts until one suits the user\n* choose border color and width\n* possible to swap photos in the generated grid\n* save high-resolution image\n* works even with a large number of photos (> 100)\n* integrates into the GNOME environment\n* available in English, French, German, Czech, Italian, Bulgarian, Dutch, Russian, Spanish, Polish and Ukrainian\n\nInstallation\n------------\n\n* Fedora 19+:\n\n .. code:: bash\n\n sudo dnf install photocollage\n\n* Debian 9+ / Ubuntu 16.10+:\n\n .. code:: bash\n\n sudo apt-get install photocollage\n\n* Using pip, the Python package manager:\n\n .. code:: bash\n\n sudo pip3 install photocollage\n\nUsage\n-----\n\nAfter install a launcher for PhotoCollage will appear in your desktop menu.\n\nIf it doesn't, just run the command:\n\n.. code:: bash\n\n photocollage\n\nHacking\n-------\n\n* If you changed the source and want to test your modifications, run:\n\n .. code:: bash\n\n python -c 'from photocollage import gtkgui; gtkgui.main()'\n\n* If you need to build a package from source and install it:\n\n .. code:: bash\n\n # Install dependencies\n sudo dnf install python3-pillow python3-gobject\n sudo apt-get install python3-pil python3-gi\n sudo pacman -S python-pillow python-gobject\n\n # Install PhotoCollage\n python -m build\n pip install --user --upgrade dist/photocollage-*.tar.gz\n\n* If you wish to contribute, please lint your code and pass tests:\n\n .. code:: bash\n\n flake8 .\n python -m unittest tests/test_*.py\n",
"bugtrack_url": null,
"license": "GPL-2.0-or-later",
"summary": "Graphical tool to make photo collage posters",
"version": "1.5.0",
"project_urls": {
"homepage": "https://github.com/adrienverge/PhotoCollage",
"repository": "https://github.com/adrienverge/PhotoCollage"
},
"split_keywords": [
"photocollage",
" photo",
" collage",
" poster",
" mosaic",
" image"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "91dd227e98ee706c943d0f3eaeb5ac1ea1ff437c13a0d583057e8121681d8147",
"md5": "277c452d31407a980e3652bcfd9c298f",
"sha256": "1f77d47afe7fb2bbd4e4d1d4af1cca6fb0b716143957febf76de074501782a36"
},
"downloads": -1,
"filename": "photocollage-1.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "277c452d31407a980e3652bcfd9c298f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 203452,
"upload_time": "2025-07-09T04:11:36",
"upload_time_iso_8601": "2025-07-09T04:11:36.395619Z",
"url": "https://files.pythonhosted.org/packages/91/dd/227e98ee706c943d0f3eaeb5ac1ea1ff437c13a0d583057e8121681d8147/photocollage-1.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9bc8674b559cf9727f769e0d8aa19a7a112fbb8224803e39d01283f7786c31c0",
"md5": "85040e47b743d31cc53545d053667cb7",
"sha256": "6dd869669e7453fa7c4a3efe5d238969c36490dce4b22b0fd7e915d0e987a403"
},
"downloads": -1,
"filename": "photocollage-1.5.0.tar.gz",
"has_sig": false,
"md5_digest": "85040e47b743d31cc53545d053667cb7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 198873,
"upload_time": "2025-07-09T04:11:38",
"upload_time_iso_8601": "2025-07-09T04:11:38.160939Z",
"url": "https://files.pythonhosted.org/packages/9b/c8/674b559cf9727f769e0d8aa19a7a112fbb8224803e39d01283f7786c31c0/photocollage-1.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-09 04:11:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "adrienverge",
"github_project": "PhotoCollage",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "photocollage"
}