php resize & amp; обрезать изображение только при превышении определенного размера в пикселях

У меня есть сценарий, который масштабирует изображение на сервере и сохраняет его на себе, и это хорошо, но мне нравится изменять его, так что этот сценарий применяется только в том случае, если исходное изображение превышает определенный размер пикселя и, наконец, обрезает результат,

так что поток
1. если исходное изображение больше 80 пикселей или шире 300 пикселей, продолжайте
2. масштабировать исходное изображение пропорционально 80 пикселей в высоту
3. если новая ширина превышает 300 пикселей, обрезать изображение до 300 пикселей, начиная с левого края
4. сохранить изображение на себя

PHP, который я использовал для масштабирования

<?php
$org_info = getimagesize("test.jpg");
$rsr_org = imagecreatefromjpeg("test.jpg");
$rsr_scl = imagescale($rsr_org, 320, 80,  IMG_BICUBIC_FIXED);
imagejpeg($rsr_scl, "test.jpg");
imagedestroy($rsr_org);
imagedestroy($rsr_scl);
?>

Любая помощь приветствуется, спасибо

0

Решение

Вы можете использовать getimagesize (http://php.net/manual/en/function.getimagesize.php) чтобы получить размер изображения в php.

И изображение копируется, чтобы изменить размер изображения с новыми размерами (http://php.net/manual/fr/function.imagecopyresized.php).

$size = getimagesize($filename);
// $size[0] is width
// $size[1] is height

$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]