Как изменить размер изображения php - Вопросы по сайтостроению
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Как изменить размер изображения php

Регистрация
3 Сен 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Пытаюсь сделать thumbnail (миниатюру) PHP, загрузил фото, из эту фотку скопировал добавив в название слово thumbnail, теперь надо уменщить размер этой фотографии, прочитал кучу статей, там только сложный вариант, в котором много кода, хотелось бы код был меньше, попробовал библиотеки, классы, но там большинство не сохраняет изображение, а только уменьшает, типа как временно. Сам файл остается большим. Попробовал imagescale, но он кажись работает только tmp файлом. Помогите пожалуйста.
 
Регистрация
10 Ноя 2013
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
Чтобы изменить размер изображения в PHP, можно использовать функции из библиотеки GD. Вот пример кода, который позволяет изменить размер изображения:

php
Copy code
// указываем путь к файлу изображения
$img_path = 'path/to/image.jpg';

// задаем желаемые размеры
$new_width = 400;
$new_height = 300;

// получаем информацию об изображении
list($width, $height) = getimagesize($img_path);

// создаем изображение на основе исходного файла
$src_img = imagecreatefromjpeg($img_path);

// создаем пустое изображение нужного размера
$new_img = imagecreatetruecolor($new_width, $new_height);

// изменяем размер изображения
imagecopyresized($new_img, $src_img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// сохраняем измененное изображение
imagejpeg($new_img, 'path/to/new_image.jpg');
В этом примере мы указываем путь к исходному файлу изображения, затем задаем новые размеры, создаем изображение на основе исходного файла и изменяем его размеры с помощью функции imagecopyresized(). В конце сохраняем измененное изображение.
 
Регистрация
19 Дек 2013
Сообщения
143
Репутация
20
Спасибо
2
Монет
0
Попробуй изменить вид картинки и попробуй последний вариант, не шарю, чем смог тем помог
 
Регистрация
7 Ноя 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
Вы можете использовать библиотеку ImageMagick в PHP для изменения размера изображения. Вот пример кода:

```
// путь к файлу
$imagePath = 'path/to/image.jpg';

// создаем объект ImageMagick
$image = new Imagick($imagePath);

// устанавливаем новый размер
$image->resizeImage(300, 200, Imagick::FILTER_LANCZOS, 1);

// сохраняем изменения
$image->writeImage('path/to/thumbnail.jpg');
```

Обратите внимание, что вы должны установить библиотеку ImageMagick на ваш сервер и настроить ее для PHP. Также вы можете использовать другие параметры для изменения размера изображения, например, `cropThumbnailImage()` для обрезки и масштабирования изображения до указанного размера.
 
Регистрация
19 Дек 2013
Сообщения
94
Репутация
0
Спасибо
0
Монет
0
Для уменьшения размера изображения в PHP можно использовать встроенную функцию imagecopyresampled(). Вот простой пример кода:

```php
$thumbnail = 'path/to/thumbnail.jpg'; // имя файла для миниатюры
$maxWidth = 200; // максимальная ширина миниатюры
$maxHeight = 200; // максимальная высота миниатюры

// открываем исходное изображение
$sourceImage = imagecreatefromjpeg('path/to/image.jpg');

// получаем размеры исходного изображения
$sourceWidth = imagesx($sourceImage);
$sourceHeight = imagesy($sourceImage);

// находим соотношение сторон исходного изображения
$sourceRatio = $sourceWidth / $sourceHeight;

// вычисляем размеры для миниатюры
if ($maxWidth / $maxHeight > $sourceRatio) {
$thumbnailWidth = $maxHeight * $sourceRatio;
$thumbnailHeight = $maxHeight;
} else {
$thumbnailWidth = $maxWidth;
$thumbnailHeight = $maxWidth / $sourceRatio;
}

// создаем новое изображение для миниатюры
$thumbnailImage = imagecreatetruecolor($thumbnailWidth, $thumbnailHeight);

// копируем изображение с изменением размера
imagecopyresampled($thumbnailImage, $sourceImage, 0, 0, 0, 0, $thumbnailWidth, $thumbnailHeight, $sourceWidth, $sourceHeight);

// сохраняем миниатюру в файл
imagejpeg($thumbnailImage, $thumbnail, 80);

// очищаем память
imagedestroy($sourceImage);
imagedestroy($thumbnailImage);
```

Код создает миниатюру из исходного изображения с ограничением максимальной ширины и высоты. Миниатюра сохраняется в файл с заданным именем и качеством сжатия 80.
 
Сверху Снизу