Slides35 is a Python 3 module for generating 35mm slide PNG images from SVG templates. Such slides can be nice for back-in-time presents or Art exhibitions.
35mm = 1+3⁄8 or 1.375 inches refers to a famous reversal (or slide) "positive" film size.
Zett Fafix Diaprojektor with double slide carrier (credits Berthold Werner, public domain)
To prepare slides for transfer by one of the third-party companies listed below, make or reuse our 24x36mm (or width/height = 3/2 ratio) SVG template and run this script (see usage below). This is adapted for 2x2 inches (5x5cm) slide mounts.
Run the following for details:
python slides35.py --help
Examples:
python slides35.py --template templates/36x24mmNumbered.svg --id 1 --picture templates/24x36mmImage.png
python slides35.py --template templates/36x24mmNumbered.svg --id 1 --picture templates/24x36mmImage.png --output myslide.svg
python slides35.py --template templates/36x24mmNumbered.svg --id 1 --picture templates/24x36mmImage.png --output myslide.png # default DPI is 500
python slides35.py --template templates/36x24mmNumbered.svg --id 1 --picture templates/24x36mmImage.png --output myslide.png --dpi 400
python slides35.py --template templates/36x24mmNumbered.svg --id 1 --picture templates/24x36mmImage.png --output myslide.png --output-dir=any/directory/which/may/not/exist/yet
Examples:
# Use default converter: ImageMagick's 'convert' (Cairo backend) and default template (templates/36x24mmNumbered.svg)
python slides35.py --pictures-dir=PICS --output-dir=PICS_OUT -v
python slides35.py --pictures-dir=PICS --output-dir=PICS_OUT -v --converter convert --teplate templates/36x24mmNumbered.svg # idem
# Use Inkscape as converter for smoother shapes and blur support
python slides35.py --pictures-dir=PICS --output-dir=PICS_OUT --converter inkscape -v
That script helps in the preparatory steps for digital picture transfer onto a transparent surface for 5x5cm slides making (where the picture is 24x36mm). That picture to slides transfer technique is explained on the WeAreProjectors website (by Clément Briend). The latter page also lists companies able to transfer pictures onto slides for you, if you preferred not to print them yourself on transparent paper with an inkjet printer.
The standard Kodachrome mount (ie. surrounding frame) size is 2”x2” (inches, or 5.08x5.08cm). It embeds a 24x36mm image.
Source: Unknown, Wikimedia
Many more Kodachrome slides formats are listed on this KODAK blog page.
Simple portable slide viewer - credit Harke - public domain
There are simple slides viewer on the market for less than 60$ or more caroussel-like ones (often second-hand). More advanced devices allow to scan old slides, but this is more and expensive and not what we want here.
One example of such viewers is the KODAK 35mm Slide and Film Viewer.
slides35
has no third-party libraries, it should work with Python 3.7 or later, or even earlier.
For png
output, you need to install the convert
executable (by ImageMagick) or inkscape
(and provide --converter inkscape
) or rsvg-convert
.
First pip install -r test-requirements.txt
.
Run python -m pytest tests.py
or make tests
.