imgproxy supports watermarking processed images with another image.
There are three ways to specify a watermark image using environment variables:
IMGPROXY_WATERMARK_DATA
- Base64-encoded image data. You can easily calculate it with base64 tmp/watermark.png | tr -d '\n'
.IMGPROXY_WATERMARK_PATH
- path to the locally stored image.IMGPROXY_WATERMARK_URL
- watermark image URL.You can also specify the base opacity of watermark with IMGPROXY_WATERMARK_OPACITY
.
Watermarks are only available with advanced URL format. Use watermark
processing option to put the watermark on the processed image:
watermark:%opacity:%position:%x_offset:%y_offset:%scale
wm:%opacity:%position:%x_offset:%y_offset:%scale
Where arguments are:
opacity
- watermark opacity modifier. Final opacity is calculated like base_opacity * opacity
. It's highly recommended to set this argument as 1
and adjust opacity with IMGPROXY_WATERMARK_OPACITY
since this would optimize performance and memory usage.position
- (optional) specifies the position of the watermark. Available values:
ce
: (default) center;no
: north (top edge);so
: south (bottom edge);ea
: east (right edge);we
: west (left edge);noea
: north-east (top-right corner);nowe
: north-west (top-left corner);soea
: south-east (bottom-right corner);sowe
: south-west (bottom-left corner);re
: replicate watermark to fill the whole image;x_offset
, y_offset
- (optional) specify watermark offset by X and Y axes. Not applicable to re
position;scale
- (optional) floating point number that defines watermark size relative to the resulting image size. When set to 0
or omitted, watermark size won't be changed.