As you can see in the example above the watermark is placed in the bottom right corner by default. This behaviour can be overridden via the watermarkPosition. You can use the POSITION_* constants on the Manipulations class as arguments.
The width and height of the watermark can be set using the watermarkWidth and watermarkHeight methods. Both methods take two arguments: an integer $value and an optional $unit. By default the $value is interpreted in pixels. You can however specify the width or height of the watermark in percentages by setting the $unit to Manipulations::UNIT_PERCENT.
For example you might want to add the watermark on the entire top half of the image:
$image->watermark('watermark.png')->watermarkPosition(Manipulations::POSITION_TOP) // Watermark at the top->watermarkHeight(50, Manipulations::UNIT_PERCENT) // 50 percent height->watermarkWidth(100, Manipulations::UNIT_PERCENT); // 100 percent width
As you can see in the example above. The watermark automatically resized itself to be contained within the given dimension but also keep the aspect ratio the same.
To change the way the watermark is resized within the given boundaries you can use the watermarkFit method. This method accepts a $fitMethod argument. The following $fitMethods are available on the Manipulations class as constants:
You can read more about resizing using the fit methods in the resizing images part of the docs.
For example you might want to stretch the watermark over the entire bottom half of the image: