Задать вопрос

Как сделать если изображение меньше 700px то не ресайзим?

делаю функцию ресайза изображения для парсера из ютуба , орегинальные изображения слишком большии в maxresdefault но качественные .Как сделать если изображение меньше 700px то не ресайзим?
вот сама функция

# Функция для загрузки и ресайза изображений
    function youtube_thumb($thumb, $youtube_thumb, $preview_path, $original_path, $size )
    {
        /*
	 * $thumb - нове имя на изображение 
         * $youtube_thumb - ссылка на изображение 
         * $preview_path - папка, куда сохраняем превьюшки
         * $original_path - папка, куда сохраняем оригинал
         * $size - размер большей строны (в пикселях)
        */
                
        # Получаем изображение. Если функция не отработала
        if( $image = file_get_contents( $youtube_thumb ) )
        {

            # Сохраняем изображение            
            file_put_contents( $thumb, $image );
            
            # Очищаем память
            unset( $image );
            
            # Если getimagesize вернула массив
            if( $info = getimagesize( $thumb ) )
            {
                # Вычисляем тип изображения
                $type = trim( strrchr( $info['mime'], '/' ), '/' );
                
                # Исходя из типа формируем названия функций
                $imagecreate = 'imagecreatefrom' . $type;
                $imagesave = 'image' . $type;
                $imagename = $thumb;
 
                # Получаем данные об изображении
                list( $width, $height ) = $info;
                
                # Создаём ресурс изображения
                $src_im = $imagecreate( $thumb );
                
                # Вычисляем ширину
                $new_width = $width > $height ? $size : ceil( ( $width * $size ) / $height );
                
                # Вычисляем высоту
                $new_height = $width < $height ? $size : ceil( ( $height * $size ) / $width );
 
                # Создаём новое изображение
                $dst_im = imagecreatetruecolor( $new_width, $new_height );
                
                # Ресайзим
                imagecopyresampled( $dst_im, $src_im, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
                
                # Чистим память
                unset( $src_im );
                
                # Сохраняем оригинал
                if( !copy( $youtube_thumb, $original_path . $imagename ) ) $return = false;                
                
                # Сохраняем превьюшку
                if( !$imagesave( $dst_im, $preview_path . $imagename ) ) $return = false;
                
                # Очищаем память
                unset( $dst_im );
                unlink( $thumb );
                
            }

        }
    }
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
t-alexashka
@t-alexashka
Сразу пишу legacy код
добавьте строчкой выше "# Создаём новое изображение"
if($width <= 700) {
    $new_width = $width;
    $new_height = $height;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mashletov
@mashletov
Math.random()
У тебя там есть $width и $height внутри. Вот и проверяй на if ($width >= 700). Или сделать это надо за тебя?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы