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)

SettingMeaning
EnabledOn by default.
Refuse images that cannot be stampedOn 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.
KindPicture (paste a PNG) or Text.
Text / colour / sizeFor text mode.
TrueType font pathOptional. 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 / paddingWhere 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).