Создание уменьшенной копии изображения php

В редакторе

Создание уменьшенной копии изображения php

Brain_Script
2394
2016-09-03 11:18:15
<?php function sozdatMiniaturu($IshodnoeImage, $ItogovoeImage, $maxShirina, $maxVisota) { // Вытягиваем информацию о полученной картинке: $VsyaInfaOKartinke = getImageSize($IshodnoeImage); // Картинка какого типа нам попалась: switch ($VsyaInfaOKartinke[2]) : // Типы картинок PNG, GIF, JPEG: case IMAGETYPE_PNG: $TipIzobrageinya = 'png'; break; case IMAGETYPE_GIF: $TipIzobrageinya = 'gif'; break; case IMAGETYPE_JPEG: $TipIzobrageinya = 'jpeg'; break; // Неизвестный тип файла, прерываемся: default: return false; break; endswitch; if (!function_exists('imagecreatefrom' . $TipIzobrageinya)) : return false; endif; // Исходная картинка: $imgSrc = call_user_func('imagecreatefrom' . $TipIzobrageinya, $IshodnoeImage); // Теперь $ishodnyaShirina и $ishodnyaVisota станут шириной и высотой исходного Image: list($ishodnyaShirina, $ishodnyaVisota) = $VsyaInfaOKartinke; // Высчитываем пропорции изображения: if (($ishodnyaShirina > $maxShirina) || ($ishodnyaVisota > $maxVisota)) : if ($ishodnyaShirina > $ishodnyaVisota) : $proporcia = $maxShirina / $ishodnyaShirina; else : $proporcia = $maxVisota / $ishodnyaVisota; endif; else : $proporcia = 1; endif; $novayaShirina = round($ishodnyaShirina * $proporcia); // Ширина копии $novayaVisota = round($ishodnyaVisota * $proporcia); // Высота копии // Генерируем уменьшенную копию картинки: $umenshennoeIzobragenie = imagecreatetruecolor($novayaShirina, $novayaVisota); // Пропорционально меняем размер со сглаживанием: ImageCopyResampled($umenshennoeIzobragenie, $imgSrc, 0, 0, 0, 0, $novayaShirina, $novayaVisota, $ishodnyaShirina, $ishodnyaVisota); // Сохраняем в $ItogovoeImage call_user_func_array('image' . $TipIzobrageinya, array($umenshennoeIzobragenie, $ItogovoeImage)); return true; } /* Пример использования: */ if (sozdatMiniaturu('Minecraft.jpg', 'Minecraft150x150.jpg', 150, 150)) echo "Миниатюра сгенерирована!"; else echo "Не получилось создать миниатюру!"; ?>
Войдите для добавления комментария.
Нет комментариев
Яндекс.Метрика Яндекс.Метрика