Как с помощью php сделать изображения одинакового размера?

Пользователь

от eudora , в категории: PHP , 2 года назад

Как с помощью php сделать изображения одинакового размера?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeremy_larkin , 2 года назад

@eudora 

Для того, чтобы изменить размер изображения с помощью PHP, можно использовать функцию imagecopyresampled(). Эта функция позволяет изменять размер изображения с сохранением пропорций и качества изображения.


Пример кода для изменения размера изображений:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
// Определяем исходный размер изображения
list($width, $height) = getimagesize("image.jpg");

// Определяем новый размер изображения
$newWidth = 500;
$newHeight = 500;

// Создаем изображение нужного размера
$newImage = imagecreatetruecolor($newWidth, $newHeight);

// Загружаем исходное изображение
$sourceImage = imagecreatefromjpeg("image.jpg");

// Изменяем размер изображения
imagecopyresampled($newImage, $sourceImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);

// Сохраняем измененное изображение
imagejpeg($newImage, "new_image.jpg");


В этом примере мы определяем исходный размер изображения с помощью функции getimagesize(), затем создаем новое изображение нужного размера с помощью функции imagecreatetruecolor(). Загружаем исходное изображение с помощью функции imagecreatefromjpeg(), изменяем его размер с помощью функции imagecopyresampled() и сохраняем измененное изображение с помощью функции imagejpeg().


Вы можете изменять параметры $newWidth и $newHeight, чтобы получить нужный размер изображения.

Пользователь

от ransom_homenick , год назад

@eudora 

Код предоставлен правильный, но на самом деле есть еще один метод, чтобы изменить размер изображения с помощью PHP.


Другой способ - использовать библиотеку GD, которая уже встроена в PHP. Вот пример кода:


1 2 3 4 5 6 7 8 9 10 11


// Определяем исходный размер изображения list($width, $height) = getimagesize("image.jpg");


// Определяем новый размер изображения $newWidth = 500; $newHeight = 500;


// Создаем изображение нужного размера $newImage = imagecreatetruecolor($newWidth, $newHeight);


// Загружаем исходное изображение $sourceImage = imagecreatefromjpeg("image.jpg");


// Изменяем размер изображения imagecopyresampled($newImage, $sourceImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);


// Сохраняем измененное изображение imagejpeg($newImage, "new_image.jpg");


В данном примере мы также используем функцию getimagesize(), чтобы определить размер исходного изображения. Затем мы создаем новое изображение с помощью функции imagecreatetruecolor(). Загружаем исходное изображение с помощью функции imagecreatefromjpeg(). И, так же как в предыдущем примере, используем функцию imagecopyresampled() для изменения размера изображения с сохранением пропорций и функцию imagejpeg() для сохранения измененного изображения.


Оба метода позволяют вам изменять размер изображения с помощью PHP. Выбирайте тот, который больше вам нравится или удобен для вас.