WOOF_Image :: watermark( WOOF_Image $watermark, Arguments $attr = array() )


  • WOOF_Image A new image object representing the image with watermark applied.

A powerful method to apply another image as a watermark on top of this image, and then cache the result in the image cache. 

Given the following two images (marked $play and $cat in the example code respectively):

The example code produces the following images:



  • WOOF_Image $watermark

    The image to watermark on top of this image.

  • Arguments $attr = array()

    An arguments string or array which supports the following parameters:

    • w (or width) – the width the watermark will be resized to. default – not set
    • h (or height) – the height the watermark will be resized to. default – not set. If you specify both a width and a height, the image may be cropped.
    • at – the location of the watermark. default “se”, see reference below
    • inset – the amount the watermark will be inset from the edges of the image. This can be a single value (for both x and y) or an x,y value. default 10
    • offset – the amount to offset the image. If this is specified, inset will be ignored. default – not set
    • q – the output quality for JPEGs – default 90
    • color – a 3 or 6 length hex string describing the color to use (3-length uses the same repeating convention as CSS), with or without hash – default “FFF”
    • extension – the output extension to use, which also defines the output file type. This can be either “png”, “gif”, “jpeg”, or “jpg”, and if not set, the source image type will be used. default – not set
    • alpha – whether to save alpha information for PNGs – default true
    • prefix – a prefix to prepend to the cached output file name – default ”
    • suffix – a suffix to append to the end of the cached output file name – default ”
    • maxlength – the maximum length the output file name (sans-extension) can be before it will be replaced with the original filename followed by an md5 hash of all of the manipulations thus far. default – 72

    Note that the maxlength param is be important as chaining multiple filters or resizes together can result in very long file names for the cached images.

    The “at” param above, can be any one of the following:

    • tl => Top-Left
    • t => Top Middle
    • tr => Top-Right
    • r => Right
    • br => Bottom Right
    • b => Bottom Middle
    • bl => Bottom-Left
    • l => Left
    • c => Center

    Or you can use compass-point coordinates:

    • nw => North-west
    • n => North
    • ne => North-east
    • e => East
    • se => South-East
    • s => South
    • sw => South-West
    • w => West

Latest From the Blog

MasterPress 1.4.1 is now available

27th May 2024

This update addresses backwards compatibility issues that were introduced in the previous update. There were some edge cases where PHP 7 had issues and it didn’t work at all on PHP 5.6. We have now changed it so that the PHP 8 compatibility changes will now only affect PHP 8 and will be more thorough… 

Plugin Requirements

MasterPress requires a minimum of WordPress version 4.9, MySQL 5.6, and PHP version 5.6.20.

We also recommend that PHP is configured to use a memory limit of 64MB per request (128MB may be required for sites with higher complexity).

This plug-in is not compatible with the WordPress.com hosted service.

Three AM