Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
-48 / 3 / 2
Регистрация: 12.01.2015
Сообщений: 182

Как изменить размер картинки

05.05.2015, 06:11. Показов 2113. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Загружаемый файл оригинал
PHP
1
2
3
4
$filename = $_FILES['file_boy']['tmp_name'];
$uploaddir = '../finished goods/boy_62/';
$uploadfile = $uploaddir . basename($_FILES['file_boy']['name']);
move_uploaded_file($filename , $uploadfile);
Как получить файл в уменьшенном размере ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.05.2015, 06:11
Ответы с готовыми решениями:

Как изменить размер картинки
Добрый день, подскажите скрипт (самый простой) для изменеия размеров картинки. Расширения картинок известно, размеры у всех одинаковые, и...

Изменить размер картинки php
Нахожу только функции, которые берут картинки из директории, у меня же пользователь загружает изображение, если задаётся размер...

Изменить размер картинки в этом php коде
Здраствуйте, Помогите разобраться где в этом коде меняется размер картинки и как установить свой? Сейчас все картинки изменяются в...

5
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.05.2015, 08:11
Афган, я рекомендую использовать готовый класс, вроде этого:
https://github.com/eventviva/php-image-resize

Добавлено через 16 секунд
Там и примеры есть.
1
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
05.05.2015, 08:39
http://php.net/manual/ru/funct... esized.php
http://php.net/manual/ru/funct... ampled.php
Вот, ещё, взял часть кода с тестового задания
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
                                // Ширина изображения.
                                $SOURCE_IMAGE_WIDTH = imagesx($SOURCE_IMAGE);
                                
                                // Высота изображения.
                                $SOURCE_IMAGE_HEIGHT = imagesy($SOURCE_IMAGE);
                                
                                // Ширина больше?
                                if( $SOURCE_IMAGE_WIDTH >= $SOURCE_IMAGE_HEIGHT ) {
                                    
                                    // Ширина более 150 пкс.?
                                    if( $SOURCE_IMAGE_WIDTH > 150 ) {
                                        
                                        // Да. Задание нового значение ширины.
                                        $NEW_IMAGE_WIDTH = 150;
                                        
                                        // Расчет нового значения высоты.
                                        $NEW_IMAGE_HEIGHT = intval(150/($SOURCE_IMAGE_WIDTH/$SOURCE_IMAGE_HEIGHT));
                                    }
                                    
                                } else {
                                    
                                    // Ширина меньше.
                                    
                                    // Высоте более 150 пкс.?
                                    if( $SOURCE_IMAGE_HEIGHT > 150 ) {
                                        
                                        // Да. Задание нового значения высоты.
                                        $NEW_IMAGE_HEIGHT = 150 ;
                                        
                                        // Расчет нового значения ширины.
                                        $NEW_IMAGE_WIDTH = intval(150*($SOURCE_IMAGE_WIDTH/$SOURCE_IMAGE_HEIGHT));
                                    }
                                }
                                    
                                // Создание холста.
                                $DEST_IMAGE = imagecreatetruecolor($NEW_IMAGE_WIDTH, $NEW_IMAGE_HEIGHT);
                                
                                // Изменение размеров.
                                imagecopyresized($DEST_IMAGE, $SOURCE_IMAGE, 0, 0, 0, 0, $NEW_IMAGE_WIDTH, $NEW_IMAGE_HEIGHT, $SOURCE_IMAGE_WIDTH, $SOURCE_IMAGE_HEIGHT);
                                
                                // Назначение файла.
                                $file_to = "uploads/$file_name$prefix".'_.'.$f[2];
В нем выполняется создание уменьшенного изображения после того как исходное изображение загружено.
1
-48 / 3 / 2
Регистрация: 12.01.2015
Сообщений: 182
05.05.2015, 18:31  [ТС]
Вот допустим есть это
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$filename = $_FILES['file_boy']['tmp_name'];
$percent = 0.5;
 
// получение новых размеров
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;
 
// ресэмплирование
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
 
// вывод
imagejpeg($image_p, null, 100);
как мне получить картинку 800 х 600, и сохранить здесь ?

PHP
1
$uploaddir = '../finished goods/boy_62/';
0
 Аватар для Игорь[Igor]
726 / 478 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
06.05.2015, 02:17
PHP
1
2
$new_width = 800;
$new_height = 600;
0
-48 / 3 / 2
Регистрация: 12.01.2015
Сообщений: 182
06.05.2015, 12:20  [ТС]
Сделал вот так выходит ошибка на последней строке.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$filename = $_FILES['file_boy']['tmp_name'];
 
// получение новых размеров
list($width, $height) = getimagesize($filename);
$new_width = 800;
$new_height = 600;
 
// ресэмплирование
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
 
$file = $image_p;
$uploaddir = '../finished goods/boy_62/';
$uploadfile = $uploaddir . basename($_FILES['file_boy']['name']);
move_uploaded_file($file , $uploadfile);
Добавлено через 1 час 38 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// файл и новый размер
$filename = $_FILES['file_boy']['tmp_name'];
$percent = 0.1;
 
// тип содержимого
header('Content-Type: image/jpeg');
 
// получение нового размера
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
 
// загрузка
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
 
// изменение размера
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
 
// вывод
imagejpeg($thumb);
 
 
$file = $thumb;
$uploaddir = '../finished goods/boy_62/';
$uploadfile = $uploaddir . basename($_FILES['file_boy']['name']);
move_uploaded_file($file , $uploadfile);
На экран выводится уменьшенная картинка но не могу сохранить

Добавлено через 16 минут
Сделал вот так вроде работает
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// файл и новый размер
$filename = $_FILES['file_boy']['tmp_name'];
$percent = 0.1;
 
// тип содержимого
header('Content-Type: image/jpeg');
 
// получение нового размера
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
 
// загрузка
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
 
// изменение размера
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
 
$uploaddir = '../finished goods/boy_62/';
$uploadfile = $uploaddir . basename($_FILES['file_boy']['name']);
 
// вывод
imagejpeg($thumb , $uploadfile);
Правильно ли я сделал ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.05.2015, 12:20
Помогаю со студенческими работами здесь

Как уменьшить размер картинки на пхп
сделал скрипт он чет не робит подскажите что не так мне нужно уменьшить картинку 200 на 200 <?php ...

Как изменить размер текста в php?
Возможно оформить размер текста и ссылок, который берется из php? У меня в основном php файле стоит часть кода. В нужном месте, на...

Как изменить разрешение картинки?
Сейчас у меня такой код: $temp = $_FILES; $res = move_uploaded_file($temp, $name.'.jpg'); $path = $name.'.jpg'; ...

[php-imagemagick] Как изменить размер изображения
Вообщем есть готовый код: convert underlay.png \( 434.jpg \( +clone -threshold -1 -draw "fill black polygon 0,0 0,15 15,0 fill white...

Как изменить размер анимации и создать скриншот темы оформления для телефонов?
как изменить размер анимации чтобы она при этом осталась анимацией и как можно создать скриншот темы оформления для телефонов средствами...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru