IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Изменение размеров картинки (https://www.imho.ws/showthread.php?t=63809)

Perfilev 10.07.2004 14:39

Изменение размеров картинки
 
Как сделать так, чтобы если у меня, например, есть картинка 800*600 на сервере пользователь мог на сайте увидеть её в своём, заданном им, размере? Т.е. картинка сама физически изменила бы рамер а не width и height в теге <img>

Sinker 10.07.2004 14:52

А чем не устраиивает width и height в теге <img>?
Можно при запросе картинки обрабатывать её скриптом вот так:exec("/usr/local/bin/convert -geometry 600x600 $srcFile $Thumb"). Это ImageMagick

Hubbitus 10.07.2004 16:41

VМожно и ImageMagick'ом, как говорит Sinker, а еще можно GD юзать (функции imagecopyresized() и imagecopyresampled()).

Цитата:

Sinker:
А чем не устраиивает width и height в теге <img>?
Тем что превью на то и делается, чтобы не качались куча полных тяжелых фотографий.

CEO 10.07.2004 18:58

вот как это делают:
<?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);
?>

Ghost 10.07.2004 19:14

Имхо, лучше не преобразовывать каждый раз картинку скриптом при обращении к ней (хоть это и позволит сэкономить место), а сделать ее уменьшенную копию заранее - меньше нагрузка на сервер. Для создания же можно использовать любой thumbnail'ер, например, ThumbsPlus.

CEO 10.07.2004 19:22

Ghost: Формить картинки на лету помоему интереснее. Пользователь может сам выбрать нужный ему размер картинки.

Perfilev 10.07.2004 20:10

В том-то и дело - хочется сделать так, чтобы юзер мог размер указать и , например, залить понравившуюсю картинку на мобилу себе:)
Еще вопрос: А траф какому серверу идёт? Тому, на котором картинки полноразмерные или тому, на котором скрипт выполняется в случае их раздельного расположения?

Hubbitus 10.07.2004 23:20

Цитата:

Andy1:
Еще вопрос: А траф какому серверу идёт? Тому, на котором картинки полноразмерные или тому, на котором скрипт выполняется в случае их раздельного расположения?
И тому и тому, естественно, тот на котором они хранятся должен выдать полную картинку, а тот который преобразовывает должен получить и выдать уменьшенную копию. Соответственно у одного больше входящий трафик, у другого - исходящий.


Часовой пояс GMT +4, время: 06:38.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.