src/Image/AbstractEncoder.php
public function process(Image $image, $format = null, $quality = null)
    {
        $this->setImage($image);
        $this->setFormat($format);
        $this->setQuality($quality);

        switch (strtolower($this->format)) {

            case 'data-url':
                $this->result = $this->processDataUrl();
                break;

            case 'gif':
            case 'image/gif':
                $this->result = $this->processGif();
                break;

            case 'png':
            case 'image/png':
            case 'image/x-png':
                $this->result = $this->processPng();
                break;

            case 'jpg':
            case 'jpeg':
            case 'image/jpg':
            case 'image/jpeg':
            case 'image/pjpeg':
                $this->result = $this->processJpeg();
                break;

            case 'tif':
            case 'tiff':
            case 'image/tiff':
            case 'image/tif':
            case 'image/x-tif':
            case 'image/x-tiff':
                $this->result = $this->processTiff();
                break;

            case 'bmp':
            case 'ms-bmp':
            case 'x-bitmap':
            case 'x-bmp':
            case 'x-ms-bmp':
            case 'x-win-bitmap':
            case 'x-windows-bmp':
            case 'x-xbitmap':
            case 'image/bmp':
            case 'image/ms-bmp':
            case 'image/x-bitmap':
            case 'image/x-bmp':
            case 'image/x-ms-bmp':
            case 'image/x-win-bitmap':
            case 'image/x-windows-bmp':
            case 'image/x-xbitmap':
                $this->result = $this->processBmp();
                break;

            case 'ico':
            case 'image/x-ico':
            case 'image/x-icon':
            case 'image/vnd.microsoft.icon':
                $this->result = $this->processIco();
                break;

            case 'psd':
            case 'image/vnd.adobe.photoshop':
                $this->result = $this->processPsd();
                break;

            case 'webp':
            case 'image/webp':
            case 'image/x-webp':
                $this->result = $this->processWebp();
                break;
                
            default:
                throw new \Hail\Image\Exception\NotSupportedException(
                    "Encoding format ({$format}) is not supported."
                );
        }

        $this->setImage(null);

        return $image->setEncoded($this->result);
    }
public function process(Image $image, $format = null, $quality = null)
    {
        $this->setImage($image);
        $this->setFormat($format);
        $this->setQuality($quality);

        switch (strtolower($this->format)) {

            case 'data-url':
                $this->result = $this->processDataUrl();
                break;

            case 'gif':
            case 'image/gif':
                $this->result = $this->processGif();
                break;

            case 'png':
            case 'image/png':
            case 'image/x-png':
                $this->result = $this->processPng();
                break;

            case 'jpg':
            case 'jpeg':
            case 'image/jpg':
            case 'image/jpeg':
            case 'image/pjpeg':
                $this->result = $this->processJpeg();
                break;

            case 'tif':
            case 'tiff':
            case 'image/tiff':
            case 'image/tif':
            case 'image/x-tif':
            case 'image/x-tiff':
                $this->result = $this->processTiff();
                break;

            case 'bmp':
            case 'ms-bmp':
            case 'x-bitmap':
            case 'x-bmp':
            case 'x-ms-bmp':
            case 'x-win-bitmap':
            case 'x-windows-bmp':
            case 'x-xbitmap':
            case 'image/bmp':
            case 'image/ms-bmp':
            case 'image/x-bitmap':
            case 'image/x-bmp':
            case 'image/x-ms-bmp':
            case 'image/x-win-bitmap':
            case 'image/x-windows-bmp':
            case 'image/x-xbitmap':
                $this->result = $this->processBmp();
                break;

            case 'ico':
            case 'image/x-ico':
            case 'image/x-icon':
            case 'image/vnd.microsoft.icon':
                $this->result = $this->processIco();
                break;

            case 'psd':
            case 'image/vnd.adobe.photoshop':
                $this->result = $this->processPsd();
                break;

            case 'webp':
            case 'image/webp':
            case 'image/x-webp':
                $this->result = $this->processWebp();
                break;
                
            default:
                throw new \Hail\Image\Exception\NotSupportedException(
                    "Encoding format ({$format}) is not supported."
                );
        }

        $this->setImage(null);

        return $image->setEncoded($this->result);
    }
public function process ( Image $ image , $ format = null , $ quality = null ) { $ this -> setImage ( $ image ) ; $ this -> setFormat ( $ format ) ; $ this -> setQuality ( $ quality ) ; switch ( strtolower ( $ this -> format ) ) { case 'data-url' : $ this -> result = $ this -> processDataUrl ( ) ; break ; case 'gif' : case 'image/gif' : $ this -> result = $ this -> processGif ( ) ; break ; case 'png' : case 'image/png' : case 'image/x-png' : $ this -> result = $ this -> processPng ( ) ; break ; case 'jpg' : case 'jpeg' : case 'image/jpg' : case 'image/jpeg' : case 'image/pjpeg' : $ this -> result = $ this -> processJpeg ( ) ; break ; case 'tif' : case 'tiff' : case 'image/tiff' : case 'image/tif' : case 'image/x-tif' : case 'image/x-tiff' : $ this -> result = $ this -> processTiff ( ) ; break ; case 'bmp' : case 'ms-bmp' : case 'x-bitmap' : case 'x-bmp' : case 'x-ms-bmp' : case 'x-win-bitmap' : case 'x-windows-bmp' : case 'x-xbitmap' : case 'image/bmp' : case 'image/ms-bmp' : case 'image/x-bitmap' : case 'image/x-bmp' : case 'image/x-ms-bmp' : case 'image/x-win-bitmap' : case 'image/x-windows-bmp' : case 'image/x-xbitmap' : $ this -> result = $ this -> processBmp ( ) ; break ; case 'ico' : case 'image/x-ico' : case 'image/x-icon' : case 'image/vnd.microsoft.icon' : $ this -> result = $ this -> processIco ( ) ; break ; case 'psd' : case 'image/vnd.adobe.photoshop' : $ this -> result = $ this -> processPsd ( ) ; break ; case 'webp' : case 'image/webp' : case 'image/x-webp' : $ this -> result = $ this -> processWebp ( ) ; break ; default : throw new \ Hail \ Image \ Exception \ NotSupportedException ( "Encoding format ({$format}) is not supported." ) ; } $ this -> setImage ( null ) ; return $ image -> setEncoded ( $ this -> result ) ; }
Process a given image

@param  Image   $image
@param  string  $format
@param  int $quality
@return Image
Process a given image