[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с imagecopyresampled
Игорь_Vasinsky
Ну парни... кто самый терпилывый ?
на нашем фоуме я нашёл несколько тем с аналогичным опросом, но въехать так и не смог. У кого время есть и кому ни лень - объясните как работать с imagecopyresampled

необходимо при загрузки из формы (<input type="file" size="20" name="image" size="60" />) - необходимо изменить размер картинки на 289x380px
и оставить имя передоваемое в $_FILES['image']['name'].

зарание спасибо.



Спустя 1 час, 7 минут, 30 секунд (22.11.2010 - 21:35) sergeiss написал(а):
Открываю хэлп по данной функции и вижу:

Example #1 Simple example

This example will resample an image to half its original size.

<?php
// The file
$filename = 'test.jpg';
$percent = 0.5;

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

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output
imagejpeg($image_p, null, 100);
?>


И если найти в хэлпе $_FILES, то там тоже подробно описано... Так что, как всегда: давай СВОЙ код, показывай, что он должен бы делать, будем анализировать.

Спустя 8 минут, 12 секунд (22.11.2010 - 21:43) Игорь_Vasinsky написал(а):
меня смущает кое что в этом коде (и у тебя здесь по понятней.. в основном мне код длинущий поподплся...)

знач понял так:

<?php
// The file
$filename = 'test.jpg'; // мой $_FILES['image']['name']
$percent = 0.5;// Content type - процентное соотношение?
header('Content-type: image/jpeg');// Get new dimensions - создли новю картинку
list($width, $height) = getimagesize($filename);// получили размеры загружамой
$new_width = $width * $percent; // посчитали новую ширину (половина)
$new_height = $height * $percent;// Resample - аналогично с шириной
$image_p = imagecreatetruecolor($new_width, $new_height); // создали новую пустую картинку, залили
$image = imagecreatefromjpeg($filename); // вставили в неё загружаемую
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);// Output ??????
imagejpeg($image_p, null, 100); ??????
?>

Спустя 8 минут, 36 секунд (22.11.2010 - 21:52) sergeiss написал(а):
К этому всему надо добавить: вывод картинки осуществляется внутри тэга img!!! То есть, если вышеприведенный код добавить в файл image_resize.jpg, то тогда вывод будет так выглядеть:
<img src="image_resize.jpg">

Также важно то, что ты можешь тут передать любые GET-параметры, для управления процессом ресайза. Например, так
<img src="image_resize.jpg?koef=3">

для уменьшения размеров в 3 раза. Естественно, в скрипте надо принять нужный параметр и использовать его для обработки информации...
А последняя строка
imagejpeg($image_p, null, 100);

просто передает подготовленные данные с сервера клиенту, как картинку формата JPG.


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.