public overlay ( string | |
||
$overlay | string | |
An image filename or a Image object |
$position | string | center|top|left|bottom|right|top left|top right|bottom left|bottom right |
$opacity | float | integer | Overlay opacity 0-1 or 0-100 |
$globOffsetX | integer | Horizontal offset in pixels |
$globOffsetY | integer | Vertical offset in pixels |
public function overlay($overlay, $position = 'bottom right', $opacity = 0.4, $globOffsetX = 0, $globOffsetY = 0)
{
// Load overlay image
if (!$overlay instanceof self) {
$overlay = new self($overlay);
}
// Convert opacity
$opacity = Helper::opacity($opacity);
$globOffsetX = VarFilter::int($globOffsetX);
$globOffsetY = VarFilter::int($globOffsetY);
// Determine position
list($xOffset, $yOffset) = Helper::getInnerCoords($position, array($this->_width, $this->_height), array($overlay->getWidth(), $overlay->getHeight()), array($globOffsetX, $globOffsetY));
// Perform the overlay
Helper::imageCopyMergeAlpha($this->_image, $overlay->getImage(), array($xOffset, $yOffset), array(0, 0), array($overlay->getWidth(), $overlay->getHeight()), $opacity);
return $this;
}
public function testIssue7() { $excepted = Helper::getExpected(__FUNCTION__ . '.png'); $actual = Helper::getActual(__FUNCTION__ . '.png'); $base = Helper::getOrig('issue-7/back.png'); $overlay = Helper::getOrig('issue-7/overlay.png'); $image = new Image($base); $image->overlay($overlay)->saveAs($actual); Helper::isFileEq($actual, $excepted); }