Вход Регистрация
Файл: vendor/intervention/image/src/Drivers/Imagick/Modifiers/PlaceModifier.php
Строк: 41
<?php

declare(strict_types=1);

namespace 
InterventionImageDriversImagickModifiers;

use 
Imagick;
use 
InterventionImageInterfacesImageInterface;
use 
InterventionImageInterfacesSpecializedInterface;
use 
InterventionImageModifiersPlaceModifier as GenericPlaceModifier;

class 
PlaceModifier extends GenericPlaceModifier implements SpecializedInterface
{
    public function 
apply(ImageInterface $image): ImageInterface
    
{
        
$watermark $this->driver()->handleInput($this->element);
        
$position $this->getPosition($image$watermark);

        
// set opacity of watermark
        
if ($this->opacity 100) {
            
$watermark->core()->native()->setImageAlphaChannel(Imagick::ALPHACHANNEL_SET);
            
$watermark->core()->native()->evaluateImage(
                
Imagick::EVALUATE_DIVIDE,
                
$this->opacity 100 $this->opacity 1000,
                
Imagick::CHANNEL_ALPHA,
            );
        }

        foreach (
$image as $frame) {
            
$frame->native()->compositeImage(
                
$watermark->core()->native(),
                
Imagick::COMPOSITE_DEFAULT,
                
$position->x(),
                
$position->y()
            );
        }

        return 
$image;
    }
}
Онлайн: 2
Реклама