public function load(ImageInterface $image, array $options = array()) { $optionsCount = count($options); if ($optionsCount < 2) { throw new InvalidArgumentException('Invalid options for border filter. You must provide array(width, height)'); } $color = static::DEFAULT_BORDER_COLOR; if ($optionsCount > 2) { list($width, $height, $color) = $options; } else { list($width, $height) = $options; } $border = new Border($image->palette()->color($color), $width, $height); return $border->apply($image); }
public function testBorderImage() { $color = new Color('fff'); $width = 2; $height = 4; $image = $this->getImage(); $imageWidth = 200; $imageHeight = 100; $size = $this->getMock('Imagine\\Image\\BoxInterface'); $size->expects($this->once())->method('getWidth')->will($this->returnValue($width)); $size->expects($this->once())->method('getHeight')->will($this->returnValue($height)); $draw = $this->getDrawer(); $draw->expects($this->exactly(4))->method('line')->will($this->returnValue($draw)); $image->expects($this->once())->method('getSize')->will($this->returnValue($size)); $image->expects($this->once())->method('draw')->will($this->returnValue($draw)); $filter = new Border($color, $width, $height); $this->assertSame($image, $filter->apply($image)); }