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

declare(strict_types=1);

namespace 
InterventionImageDriversImagickEncoders;

use 
Imagick;
use 
InterventionImageEncodedImage;
use 
InterventionImageEncodersPngEncoder as GenericPngEncoder;
use 
InterventionImageInterfacesEncodedImageInterface;
use 
InterventionImageInterfacesImageInterface;
use 
InterventionImageInterfacesSpecializedInterface;

class 
PngEncoder extends GenericPngEncoder implements SpecializedInterface
{
    
/**
     * {@inheritdoc}
     *
     * @see EncoderInterface::encode()
     */
    
public function encode(ImageInterface $image): EncodedImageInterface
    
{
        if (
$this->indexed) {
            
// reduce colors
            
$output = clone $image;
            
$output->reduceColors(256);

            
$output $output->core()->native();
            
$output->setFormat('PNG');
            
$output->setImageFormat('PNG');
        } else {
            
$output = clone $image->core()->native();
            
$output->setFormat('PNG32');
            
$output->setImageFormat('PNG32');
        }

        
$output->setCompression(Imagick::COMPRESSION_ZIP);
        
$output->setImageCompression(Imagick::COMPRESSION_ZIP);

        if (
$this->interlaced) {
            
$output->setInterlaceScheme(Imagick::INTERLACE_LINE);
        }

        return new 
EncodedImage($output->getImagesBlob(), 'image/png');
    }
}
Онлайн: 2
Реклама