private function scaleUploadedImage($file)
    {
        $backend = $file->getImageBackend();

        // temporary location for image manipulation
        $tmp_image = TEMP_FOLDER . '/resampled-' . mt_rand(100000, 999999) . '.' . $file->getExtension();

        $tmp_contents = $file->getString();

        // write to tmp file
        @file_put_contents($tmp_image, $tmp_contents);

        $backend->loadFrom($tmp_image);

        if ($backend->getImageResource()) {
            $modified = false;

            // clone original
            $transformed = $backend;

            /* If rotation allowed & JPG, test to see if orientation needs switching */
            if ($this->config_auto_rotate && preg_match('/jpe?g/i', $file->getExtension())) {
                $switch_orientation = $this->exifRotation($tmp_image);
                if ($switch_orientation) {
                    $modified = true;
                    $transformed->setImageResource($transformed->getImageResource()->orientate());
                }
            }

            // resize to max values
            if ($transformed &&
                (
                    ($this->config_max_width && $transformed->getWidth() > $this->config_max_width) ||
                    ($this->config_max_height && $transformed->getHeight() > $this->config_max_height)
                )
            ) {
                if ($this->config_max_width && $this->config_max_height) {
                    $transformed = $transformed->resizeRatio($this->config_max_width, $this->config_max_height);
                } elseif ($this->config_max_width) {
                    $transformed = $transformed->resizeByWidth($this->config_max_width);
                } else {
                    $transformed = $transformed->resizeByHeight($this->config_max_height);
                }
                $modified = true;
            } elseif ($transformed && $this->config_force_resampling) {
                $modified = true;
            }

            // write to tmp file and then overwrite original
            if ($transformed && $modified) {
                $transformed->writeTo($tmp_image);
                // if !legacy_filenames then delete original, else rogue copies are left on filesystem
                if (!Config::inst()->get(FlysystemAssetStore::class, 'legacy_filenames')) {
                    $file->File->deleteFile();
                }
                $file->setFromLocalFile($tmp_image, $file->FileName); // set new image
                $file->write();
            }
        }

        @unlink($tmp_image); // delete tmp file
    }
private function scaleUploadedImage($file)
    {
        $backend = $file->getImageBackend();

        // temporary location for image manipulation
        $tmp_image = TEMP_FOLDER . '/resampled-' . mt_rand(100000, 999999) . '.' . $file->getExtension();

        $tmp_contents = $file->getString();

        // write to tmp file
        @file_put_contents($tmp_image, $tmp_contents);

        $backend->loadFrom($tmp_image);

        if ($backend->getImageResource()) {
            $modified = false;

            // clone original
            $transformed = $backend;

            /* If rotation allowed & JPG, test to see if orientation needs switching */
            if ($this->config_auto_rotate && preg_match('/jpe?g/i', $file->getExtension())) {
                $switch_orientation = $this->exifRotation($tmp_image);
                if ($switch_orientation) {
                    $modified = true;
                    $transformed->setImageResource($transformed->getImageResource()->orientate());
                }
            }

            // resize to max values
            if ($transformed &&
                (
                    ($this->config_max_width && $transformed->getWidth() > $this->config_max_width) ||
                    ($this->config_max_height && $transformed->getHeight() > $this->config_max_height)
                )
            ) {
                if ($this->config_max_width && $this->config_max_height) {
                    $transformed = $transformed->resizeRatio($this->config_max_width, $this->config_max_height);
                } elseif ($this->config_max_width) {
                    $transformed = $transformed->resizeByWidth($this->config_max_width);
                } else {
                    $transformed = $transformed->resizeByHeight($this->config_max_height);
                }
                $modified = true;
            } elseif ($transformed && $this->config_force_resampling) {
                $modified = true;
            }

            // write to tmp file and then overwrite original
            if ($transformed && $modified) {
                $transformed->writeTo($tmp_image);
                // if !legacy_filenames then delete original, else rogue copies are left on filesystem
                if (!Config::inst()->get(FlysystemAssetStore::class, 'legacy_filenames')) {
                    $file->File->deleteFile();
                }
                $file->setFromLocalFile($tmp_image, $file->FileName); // set new image
                $file->write();
            }
        }

        @unlink($tmp_image); // delete tmp file
    }
private function scaleUploadedImage ( $ file ) { $ backend = $ file -> getImageBackend ( ) ; // temporary location for image manipulation $ tmp_image = TEMP_FOLDER . '/resampled-' . mt_rand ( 100000 , 999999 ) . '.' . $ file -> getExtension ( ) ; $ tmp_contents = $ file -> getString ( ) ; // write to tmp file @ file_put_contents ( $ tmp_image , $ tmp_contents ) ; $ backend -> loadFrom ( $ tmp_image ) ; if ( $ backend -> getImageResource ( ) ) { $ modified = false ; // clone original $ transformed = $ backend ; /* If rotation allowed & JPG, test to see if orientation needs switching */ if ( $ this -> config_auto_rotate && preg_match ( '/jpe?g/i' , $ file -> getExtension ( ) ) ) { $ switch_orientation = $ this -> exifRotation ( $ tmp_image ) ; if ( $ switch_orientation ) { $ modified = true ; $ transformed -> setImageResource ( $ transformed -> getImageResource ( ) -> orientate ( ) ) ; } } // resize to max values if ( $ transformed && ( ( $ this -> config_max_width && $ transformed -> getWidth ( ) > $ this -> config_max_width ) || ( $ this -> config_max_height && $ transformed -> getHeight ( ) > $ this -> config_max_height ) ) ) { if ( $ this -> config_max_width && $ this -> config_max_height ) { $ transformed = $ transformed -> resizeRatio ( $ this -> config_max_width , $ this -> config_max_height ) ; } elseif ( $ this -> config_max_width ) { $ transformed = $ transformed -> resizeByWidth ( $ this -> config_max_width ) ; } else { $ transformed = $ transformed -> resizeByHeight ( $ this -> config_max_height ) ; } $ modified = true ; } elseif ( $ transformed && $ this -> config_force_resampling ) { $ modified = true ; } // write to tmp file and then overwrite original if ( $ transformed && $ modified ) { $ transformed -> writeTo ( $ tmp_image ) ; // if !legacy_filenames then delete original, else rogue copies are left on filesystem if ( ! Config :: inst ( ) -> get ( FlysystemAssetStore :: class , 'legacy_filenames' ) ) { $ file -> File -> deleteFile ( ) ; } $ file -> setFromLocalFile ( $ tmp_image , $ file -> FileName ) ; // set new image $ file -> write ( ) ; } } @ unlink ( $ tmp_image ) ; // delete tmp file }
Scale an image

@param  File
@return Null
Scale an image