addAction(
ClassUtils::verifyInstance(
$layer,
BaseSourceContainer::class,
ImageOverlay::class,
$position,
$blendMode
)
);
}
/**
* Adds an underlay under the base image.
*
* @param string $layer The public ID of the image to underlay.
* @param Position|AbsolutePosition $position The position of the underlay with respect to the base image.
* @param string $blendMode The blend mode. Use the constants defined in the BlendMode class.
*
* @return static
*
* @see \Cloudinary\Transformation\OverlayOverlay
* @see \Cloudinary\Transformation\BlendMode
*/
public function underlay($layer, $position = null, $blendMode = null)
{
$underlay = ClassUtils::forceInstance($layer, ImageOverlay::class, null, $position, $blendMode);
$underlay->setStackPosition(LayerStackPosition::UNDERLAY);
return $this->addAction($underlay);
}
/**
* Changes the shape of the image.
*
* @param ReshapeQualifier|EffectAction|EffectQualifier|mixed $reshape The reshape to apply.
*
* @return static
*/
public function reshape($reshape)
{
return $this->addAction($reshape);
}
/**
* Rounds the specified corners of an image.
*
* Only $radiusOrTopLeft specified: All four corners are rounded equally according to the value.
* Only $radiusOrTopLeft and $topRight specified: Round the top-left & bottom-right corners according
* to $radiusOrTopLeft, round the top-right & bottom-left corners according to $topRight.
* Only $radiusOrTopLeft, $topRight and $bottomRight specified: Round the top-left corner according
* to $radiusOrTopLeft, round the top-right & bottom-left corners according to $topRight, round the bottom-right
* corner according to $bottomRight.
* All qualifiers specified: Each corner is rounded accordingly.
*
* @param int|string|CornerRadius $radiusOrTopLeft The radius in pixels of the top left corner or all the corners
* if no other corners are specified.
* @param int $topRight The radius in pixels of the top right corner.
* @param int $bottomRight The radius in pixels of the bottom right corner.
* @param int $bottomLeft The radius in pixels of the bottom left corner.
*
* @return static
*
* @see \Cloudinary\Transformation\RoundCorners
*/
public function roundCorners($radiusOrTopLeft, $topRight = null, $bottomRight = null, $bottomLeft = null)
{
$qualifiers = ArrayUtils::safeFilter([$radiusOrTopLeft, $topRight, $bottomRight, $bottomLeft]);
$roundCorners = ClassUtils::verifyVarArgsInstance($qualifiers, RoundCorners::class);
return $this->addAction($roundCorners);
}
/**
* Adds a border around the image.
*
* @param Border $border A Border object in which you set the width, style and color of the border.
* See the Border class.
*
* @return static
*
* @see \Cloudinary\Transformation\Border
*/
public function border(Border $border)
{
return $this->addAction($border);
}
/**
* Sets the color of the background.
*
* @param Background|ColorValue|string $color The color of the background to set.
*
* @return static
*
* @see \Cloudinary\Transformation\Background
*/
public function backgroundColor($color)
{
return $this->addAction(ClassUtils::verifyInstance($color, Background::class));
}
/**
* Sets the image background.
*
* @param Background|string $background The background to set.
*
* @return static
*
* @see \Cloudinary\Transformation\Background
*/
public function background($background)
{
return $this->addAction(ClassUtils::verifyInstance($background, Background::class));
}
/**
* Controls the color space used for the delivered image.
*
* @param ColorSpace|string $colorSpace Use the constants defined in the ColorSpace class.
*
* @return static
*
* @see \Cloudinary\Transformation\ColorSpace
*/
public function colorSpace($colorSpace)
{
return $this->addAction(ClassUtils::verifyInstance($colorSpace, ColorSpace::class));
}
/**
* Prevents style class names collisions for sprite generation.
*
* @param Prefix|string $prefix The style class name prefix.
*
*
* @return static
*/
public function prefix($prefix)
{
return $this->addAction(ClassUtils::verifyInstance($prefix, Prefix::class));
}
/**
* Applies animated image transformation action.
*
* @param AnimatedEdit $animated Animated image action.
*
* @return static
*/
public function animated($animated)
{
return $this->addAction(ClassUtils::verifyInstance($animated, AnimatedEdit::class));
}
}