Image based watermarks for sorl-thumbnail
Project description
About this fork
This is a full unchanged clone of the repository at https://github.com/originell/sorl-watermark
I can't install the original package in docker container from Github, only from Pypi. Well, I could do it, but I would have to install git into my container, but I want to keep it as small as possible. The original project at https://pypi.org/project/sorl-watermark/ is outdated, so I forked and published the latest version on Pypi under the new name sorl-wmark, and you can install it with
$ pip install sorl-wmark
sorl-watermark
sorl-watermark adds support for watermarking to sorl-thumbnail.
Supports:
- Django 1.3+ (tested with Django 1.10.4 up to 2.1)
- Sorl-Thumbnail 11+ (tested with 12.4a1 to 12.5.0)
- Pillow 3+ (tested with 3, 4.2 and 5)
- Python 2.7 to 3.7
Of course everything is configurable, from the watermark image to position and opacity.
If you are looking for a sorl engine to dynamically create text watermarks, you might want to have a look at zeus/watermark.
Setup
Install via pip
$ pip install sorl-wmark
Change sorl's thumbnail engine to one from sorl-watermark. PIL and imagemagick are supported.
PIL:
# PIL is the most well tested backend.
THUMBNAIL_ENGINE = 'sorl_watermarker.engines.pil_engine.Engine'
Pgmagick:
# PIL is the most well tested backend.
THUMBNAIL_ENGINE = 'sorl_watermarker.engines.pgmagick_engine.Engine'
Next up, you tell it which image should be used as a watermark. Note that this file
has to live somewhere inside STATIC_ROOT.
THUMBNAIL_WATERMARK = 'my_watermark.png'
That's it for a simple setup. The engine will only apply the watermark if the thumbnail size is big enough.
See Advanced Usage for ways to dynamically change the watermark itself, it's size or ways to selectively apply watermarks.
Advanced Usage
sorl-watermark adds additional options to the {% thumbnail %} templatetag.
The following new options are available:
watermark=imagefileThis options takes an ImageFile and uses this one instead of the default watermark file, set viaTHUMBNAIL_WATERMARKwatermark_size="x200"Changes the watermark's size. Takes the same options as theTHUMBNAIL_WATERMARK_SIZEoption.watermark_pos="north east"Specifies where the watermark shall be put. Accepts the same options as theTHUMBNAIL_WATERMARK_POSITIONsetting.watermark_alpha=0.9Sets the watermark's opacity. Has to be a value between 0 and 1.
Settings Reference
The following settings are available
-
THUMBNAIL_WATERMARKSets the image to be used as a watermark. The file must live withinSTATIC_ROOT. -
THUMBNAIL_WATERMARK_ALWAYSStamp a watermark on every image. Default isTrue. -
THUMBNAIL_WATERMARK_SIZEChange the size of the watermark. This can either be a geometry string, as is usual with sorl-thumbnail ("x200", "200x200"), or a percentage. If given a percentage, the watermark will always be the given percentage of the thumbnail size. -
THUMBNAIL_WATERMARK_OPACITYAn integer from 0 to 1, specifying the opacity of the watermark. Default is0(opaque). -
THUMBNAIL_WATERMARK_POSITIONSpecifies the position of the watermark. You can specify the position with a pair of padding values (in pixels) Ex. "20 20" will place watermark near the left-top corner, "-20 -20" - near the right-bottom corner. Either you can specify the position as:- "north"
- "south"
- "west"
- "east"
- "north east"
- "south east"
- "north west"
- "south west"
- "center"
Default:
"south east"(right-bottom corner)If you want to tile your image completely with a watermark, you should set:
THUMBNAIL_WATERMARK_POSITION = 'tile'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sorl_wmark-1.1.1-py3-none-any.whl.
File metadata
- Download URL: sorl_wmark-1.1.1-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcb1703a8e4b44a089c7d877ad7eba6b517dd5f588e6da28579f4ec8cded033f
|
|
| MD5 |
7e566fe5733a4792f94b0c4c1336ae31
|
|
| BLAKE2b-256 |
b7438c1e0e4149c839c98da8f3eef9693ae960d17d3b777baad8328ad8ab7d21
|