Пропорциональное изменение размера изображения - PullRequest
5 голосов
/ 22 июня 2011

Я хочу изменить размер загруженных изображений до ширины: 180px с пропорциональной высотой.Есть ли классы для этого?

Спасибо за помощь!

Ответы [ 4 ]

8 голосов
/ 10 ноября 2013

Я думаю, что этот вопрос может использовать ответ с реальным примером кода. В приведенном ниже коде показано, как изменить размер изображения в каталоге uploaded и сохранить измененное изображение в папке resized.

.
<?php
// the file
$filename = 'uploaded/my_image.jpg';

// the desired width of the image
$width = 180;

// content type
header('Content-Type: image/jpeg');

list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;
$height = $width/$ratio_orig;

// resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// output
imagejpeg($image_p, 'resized/my_image.jpg', 80);
?>
4 голосов
/ 07 марта 2014

Сначала вам нужно получить текущие размеры изображения:

$width = imagesx($image);
$height = imagesy($image);

Затем рассчитайте коэффициент масштабирования:

$scalingFactor = $newImageWidth / $width;

При наличии коэффициента масштабирования просто рассчитайте новую высоту изображения:

$newImageHeight = $height * $scalingFactor;

Тогда просто создайте новое изображение;

$newImage = imagecreatetruecolor($newImageWidth, $newImageHeight);
imagecopyresampled($newImage, $image, 0, 0, 0, 0, $newImageWidth, $newImageHeight, $width, $height);

Вероятно, эти фрагменты помогут:

http://www.codeslices.net/snippets/resize-scale-image-proportionally-to-given-width-in-php http://www.codeslices.net/snippets/resize-scale-image-proportionally-in-php

по крайней мере, они работали на меня.

0 голосов
/ 22 июня 2011

Пользовательский плагин jquery JCrop, и установите его соотношение сторон для изображения ... Проверьте эту ссылку для деталей: http://www.webresourcesdepot.com/jquery-image-crop-plugin-jcrop/

0 голосов
/ 22 июня 2011

Вы можете использовать функцию php для imagecopyresampled. новые размеры вы также можете рассчитать.

...