PHP отображает изображение уменьшен и изменение размера

StackOverflow https://stackoverflow.com/questions/4823865

Вопрос

Есть ли способ отобразить изображение на сервере, уменьшенное и измененное, без сохранения уменьшенного? Например, если изображение было 500x500 250 КБ, я хочу, чтобы оно отобразило 50x50 45 КБ в браузере пользователя.

Если нет пути, как я могу временно создать одну, чтобы перейти к папке и удалить позже, после того, как когда -нибудь встало?

Это было полезно?

Решение

header("Content-type: image/jpeg");
$image = imagecreatefromjpeg($url);
$thumbImage = imagecreatetruecolor(50, 50);
imagecopyresized($thumbImage, $image, 0, 0, 0, 0, 50, 50, 500, 500);
imagejpeg($thumbImage,"",85);
imagedestroy($image);
imagedestroy($thumbImage);

Но вы должны каким -то образом кэшировать результат, чтобы снизить нагрузку на сервере.

Другие советы

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

Наиболее логичным процессом является выполнение дорогостоящей операции (масштабирование фотографии), а не несколько раз.

В ответ на ваш другой вопрос вы можете использовать GD или ImageMagick, чтобы уменьшить изображение. Есть сотни уроков о том, как это сделать. Если вы хотите пойти по этому маршруту, я бы погуглил учебник и попробовал.

Похоже, все, что вы хотите сделать, это установить height а также width Атрибуты тега изображения HTML.

<img src='blah' height=50 width=50 />

Процент также может быть использован.

CSS допускает немного больше управления и может быть применен ко всем изображениям (или всем изображениям определенного класса). С этим вы можете специфить max-height а также max-width которые не будут влиять на более мелкие изображения. Ниже применится ко всем изображениям с классом resizedimages

.resizedimages {max-height: 400px; max-width: 400px}

Если вы не заинтересованы в сохранении измененного изображения, то это звучит как совершенно проблема с клиентом. PHP не имеет к этому никакого отношения (за исключением того, что, возможно, отдает необходимый HTML)

ПРИМЕЧАНИЕ. Если пользователь переходит к щелчке правой кнопкой мыши и сохраняет изображение, он все равно будет полным 250 КБ. Это чисто проблемы отображения. Если этот аспект важен для вас, то я не знаю никого способа, кроме как сохранить уменьшенную копию.

Это, вероятно, не лучшие ресурсы, лишь некоторые, которые поднялись на вершине Google.

http://www.w3schools.com/tags/tag_img.asp
http://www.fastechws.com/tricks/web/image-max-width-height.php

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top