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

declare(strict_types=1);

namespace 
InterventionImageDriversGdModifiers;

use 
InterventionImageDriversGdCloner;
use 
InterventionImageExceptionsColorException;
use 
InterventionImageInterfacesFrameInterface;
use 
InterventionImageInterfacesImageInterface;
use 
InterventionImageInterfacesSizeInterface;
use 
InterventionImageInterfacesSpecializedInterface;
use 
InterventionImageModifiersCoverModifier as GenericCoverModifier;

class 
CoverModifier extends GenericCoverModifier implements SpecializedInterface
{
    
/**
     * {@inheritdoc}
     *
     * @see ModifierInterface::apply()
     */
    
public function apply(ImageInterface $image): ImageInterface
    
{
        
$crop $this->getCropSize($image);
        
$resize $this->getResizeSize($crop);

        foreach (
$image as $frame) {
            
$this->modifyFrame($frame$crop$resize);
        }

        return 
$image;
    }

    
/**
     * @throws ColorException
     */
    
protected function modifyFrame(FrameInterface $frameSizeInterface $cropSizeInterface $resize): void
    
{
        
// create new image
        
$modified Cloner::cloneEmpty($frame->native(), $resize);

        
// copy content from resource
        
imagecopyresampled(
            
$modified,
            
$frame->native(),
            
0,
            
0,
            
$crop->pivot()->x(),
            
$crop->pivot()->y(),
            
$resize->width(),
            
$resize->height(),
            
$crop->width(),
            
$crop->height()
        );

        
// set new content as resource
        
$frame->setNative($modified);
    }
}
Онлайн: 2
Реклама