![]() |
Изменение размеров картинки
Как сделать так, чтобы если у меня, например, есть картинка 800*600 на сервере пользователь мог на сайте увидеть её в своём, заданном им, размере? Т.е. картинка сама физически изменила бы рамер а не width и height в теге <img>
|
А чем не устраиивает width и height в теге <img>?
Можно при запросе картинки обрабатывать её скриптом вот так:exec("/usr/local/bin/convert -geometry 600x600 $srcFile $Thumb"). Это ImageMagick |
VМожно и ImageMagick'ом, как говорит Sinker, а еще можно GD юзать (функции imagecopyresized() и imagecopyresampled()).
Цитата:
|
вот как это делают:
<?php if ($img) { $w = imagesx($img); $h = imagesy($img); $scale = min($width/$w, $height/$h); // в переменные width и height считываются выбранные размеры картинки. if ($scale < 1) { $new_width = floor($scale*$w); $new_height = floor($scale*$h); $img2 = imagecreatetruecolor($new_width, $new_height); imagefill($img2, 0, 0, 0xFFFFFF); imagecopyresampled($img2, $img, 0, 0, 0, 0, $new_width, $new_height, $w, $h); imagedestroy($img); $img = $img2; } } header("Content-type: image/jpeg"); imagejpeg($img); ?> |
Имхо, лучше не преобразовывать каждый раз картинку скриптом при обращении к ней (хоть это и позволит сэкономить место), а сделать ее уменьшенную копию заранее - меньше нагрузка на сервер. Для создания же можно использовать любой thumbnail'ер, например, ThumbsPlus.
|
Ghost: Формить картинки на лету помоему интереснее. Пользователь может сам выбрать нужный ему размер картинки.
|
В том-то и дело - хочется сделать так, чтобы юзер мог размер указать и , например, залить понравившуюсю картинку на мобилу себе:)
Еще вопрос: А траф какому серверу идёт? Тому, на котором картинки полноразмерные или тому, на котором скрипт выполняется в случае их раздельного расположения? |
Цитата:
|
| Часовой пояс GMT +4, время: 06:38. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.