Масштабирование (обрезка) изображения при загрузке

roman149

Новичок
Доброго времени суток!
Прошу помощи с вопросом: при загрузке на сайт одного изображения (анонса для статьи) нужного его масштабировать и обрезать при необходимости.
Есть плагин отвечающий за загрузку, проверку и ограничения
PHP:
<?php
if ($modx->event->name == 'OnDocFormSave') {
      if($mode == 'new'){
        if (!empty($_FILES)) {
           
            $id = $resource->get('id');
            $folder = 'images/logo-projects'; // имя папки куда грузить, должна быть создана (в корне сайта)
            $path = MODX_BASE_PATH.'/'.$folder.'/'; // Путь от корня до нужного места
            $tv_name = 'image-logo-project'; // имя тв
           
            // все значения файла
            $nameFile = $_FILES['image-logo-project']['name'];
            $typeFile = $_FILES['image-logo-project']['type'];
            $tmpNameFile = $_FILES['image-logo-project']['tmp_name'];
            $sizeFile = $_FILES['image-logo-project']['size'];
           
            $limit_size = 3*1024*1024; // 3 Mb - максимальный размер загружаемого файла
            $file_types = array("jpeg", "jpg", "png"); // доступные расширения для загрузки
            $extensionFile = substr(strrchr($nameFile, '.'), 1); // получаем расширение файла
          
          
            $NewNameFile = 'id_'.$id.'_'.date("m_d_y").'.'.$extensionFile;  // наше новое имя файла
           
            if(is_uploaded_file($tmpNameFile)) // проверяем зашёл ли файл
            {
                if($limit_size > $sizeFile)
                { // Проверка на размер
                    if(in_array($extensionFile, $file_types)){ // проверка на тип
                         move_uploaded_file($tmpNameFile, $path.$NewNameFile); // загрузка файла
                         $resource->setTVValue($tv_name, $folder.'/'.$NewNameFile); // запись в ТВ
                    }
                }
            }
        }
    }
}
Как правильно сделать масштабирование, а при необходимости обрезку в рамках плагина.
Спасибо!
 

AnrDaemon

Продвинутый новичок
Для этого надо написать код, который будет… да, именно это делать.
Напрямую через GD, либо припахать imagick.
 

roman149

Новичок
Для этого надо написать код, который будет… да, именно это делать.
Напрямую через GD, либо припахать imagick.
написал бы код, который делал. если знал как правильно написать
если покажешь как сделать или направишь было бы здорово?
 
Сверху