Создаем уменьшиную копию картинки с помощью php

В этой статье мы рассмотрим как с помощью php можно создать уменьшинную копию картинок. Чтобы картинка еще уменьшалась пропорционально.
Мы будем использовать функцию imagecopyresampled для которой потребуется библиотека GD.

Код выглядит вот таким образом:
<?php
function createThumbImg($sPath, $tPath, $tWidth, $tHeight) {
    if (strrpos($sPath, '.') !== FALSE)
        $imgType = strtolower(substr($sPath, strrpos($sPath, '.')+1));
    switch($imgType) {
        case 'jpg':
            $source = @ImageCreateFromJpeg($sPath);
            function image($image, $fileName) {
                ImageJpeg($image, $fileName);
            }
            break;
        case 'jpeg':
            $source = @ImageCreateFromJpeg($sPath);
            function image($image, $fileName) {
                ImageJpeg($image, $fileName);
            }
            break;
        case 'gif':
            $source = @ImageCreateFromGif($sPath);
            function image($image, $fileName) {
                ImageGif($image, $fileName);
            }
            break;
        case 'png':
            $source = @ImageCreateFromPng($sPath);
            function image($image, $fileName) {
                ImagePng($image, $fileName);
            }
            break;
    }
    if (!$source) return FALSE;
    $imgData = @getimagesize($sPath);
    if(!$imgData) return FALSE;
    if ($imgData[0] > $imgData[1]) {
            $ratio = floatval($tWidth / $imgData[0]);
    }
    else {
            $ratio = floatval($tHeight / $imgData[1]);
    }
    $tWidth = intval($ratio * $imgData[0]);
    $tHeight = intval($ratio * $imgData[1]);
    $thumb = @ImageCreateTrueColor($tWidth, $tHeight);
    if (!$thumb) return FALSE;
    @ImageCopyResampled($thumb, $source, 0, 0, 0, 0, $tWidth, $tHeight, $imgData[0], $imgData[1]);
    Image($thumb, $tPath);
    return TRUE;
}
?>

$sPath – указываем адрес изображения
$tPath – указываем название изображения, под которым будет сохранена уменьшинная копия
$tWidth и $tHeight – максимальная высота и ширина

Скрипт будет обрабатывать png, gif, jpg картинки. Спасибо за внимание.
Теги:
resize, images
Добавлено: 20 Мая 2018 07:34:31 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...