• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/File/Image/Engine.php
  • Класс: BitrixMainFileImageEngine
  • Вызов: Engine::filter
public function filter(Mask $mask);

/**
 * Draws a text watermark on the image.
 * @param ImageTextWatermark $watermark
 * @return bool
 */
abstract public function drawTextWatermark(TextWatermark $watermark);

/**
 * Draws an image watermark on the image.
 * @param ImageImageWatermark $watermark
 * @return bool
 */
abstract public function drawImageWatermark(ImageWatermark $watermark);

protected function loadWatermark(ImageWatermark $watermark)
{
	$file = $watermark->getImageFile();

	if($file === null)
	{
		return null;
	}

	$image = new static($file);

	if(!$image->load())
	{
		return null;
	}

	if($watermark->getMode() == ImageWatermark::MODE_RESIZE)
	{
		$source = $image->getDimensions();
		$destination = $this->getDimensions();

		$destination->scale($watermark->getRatio());

		if ($source->resize($destination, Image::RESIZE_PROPORTIONAL))
		{
			$image->resize($source, $destination);
		}
	}

	return $image;
}