Burns a text or picture watermark into every image attachment, the free-standing answer to the marketplace "Image
Watermark" plugin.
How it runs
The stamp happens at upload.before_save — after the core has checked the file, before it is moved into uploads/. The
result goes to a temporary file next to the original and is renamed over it, so a failed stamp can never corrupt the
picture. Every upload is stamped; nothing is skipped because the same picture was posted before. GIFs are stamped on
their first frame (the animation is lost).
Settings (Admin → Plugins → TabRe Image Watermark → Settings)
| Setting | Meaning |
|---|---|
| Enabled | On by default. |
| Refuse images that cannot be stamped | On by default. A picture that is too large (over 12 MB) or cannot be processed is refused with a message instead of being posted without a watermark. Pictures smaller than 64 px, pictures too big to decode safely, and a server without GD still go through unstamped. |
| Kind | Picture (paste a PNG) or Text. |
| Text / colour / size | For text mode. |
| TrueType font path | Optional. Without it the built-in bitmap font is used — ASCII only, which is what a domain watermark needs. For accents or non-Latin text set an absolute path such as /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf. |
| Picture width / opacity / position / padding | Where and how strongly the watermark lands (9 positions). |
The watermark picture itself is uploaded on the plugin's Watermark page, which also shows a live preview of the
current settings on a sample image.
Notes
- Needs the GD extension (the same one the core uses to shrink images and build avatars).
- Settings are read at stamp time, so a change applies to the next upload.
- The picture is decoded only after a size check, so a crafted file cannot exhaust memory.
Uninstall
Disable stops stamping; images already stamped keep their watermark. Uninstall drops the legacy hash table (it
is no longer used).