Jump to content
  • 0

Размер изображения


dengunya
 Share

Question

Доброе время суток.

Предположем, что есть изображение 1000х500 и весит 1000Кб. Я его вешаю на сайте и задаю размер 100х50. Что происходит при загрузке страницы, качаются все 1000Кб и потом изображение уменьшается или это происходит на сервере и пользователь загружает уже уменьшеное изображение, которое весит на порядок меньше ?

Зараннее благодарен.

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0
Доброе время суток.

Предположем, что есть изображение 1000х500 и весит 1000Кб. Я его вешаю на сайте и задаю размер 100х50. Что происходит при загрузке страницы, качаются все 1000Кб и потом изображение уменьшается или это происходит на сервере и пользователь загружает уже уменьшеное изображение, которое весит на порядок меньше ?

Зараннее благодарен.

Нет, выкачивается все изображение и переразмер осуществляется браузером.

Неудачная мысль, только если крайне необходимо.

Link to comment
Share on other sites

  • 0
Доброе время суток.

Предположем, что есть изображение 1000х500 и весит 1000Кб. Я его вешаю на сайте и задаю размер 100х50. Что происходит при загрузке страницы, качаются все 1000Кб и потом изображение уменьшается или это происходит на сервере и пользователь загружает уже уменьшеное изображение, которое весит на порядок меньше ?

Зараннее благодарен.

Браузер играет лишь роль отображения данных. Он их не меняет! Для того чтоб картинки шли обработку на сервере, уменьшались в размере или еще чего, надо придумывать сложные алгоритмы обработки изображений.

Поэтому загружая вашу картинку 100х50 пользователь грузит 1мб данных - а это неприемлимо.

Link to comment
Share on other sites

  • 0
Для того чтоб картинки шли обработку на сервере, уменьшались в размере или еще чего, надо придумывать сложные алгоритмы обработки изображений.

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

Link to comment
Share on other sites

  • 0

На сервере. Есть ещё GD, она довольно простая, осваивается по мануалу, названия функций говорят сами за себя. Сложных алгоритмов там вообще не нужно. imagecreatefromjpeg(), imagecreatetruecolor(), imagecopyresampled(), imagejpeg(), imagedstroy(). Вот и всё, только параметры нужно подобрать правильно.

Link to comment
Share on other sites

  • 0

а скажите, если вот так изменять размер, то как сделать, чтобы цвет был норм ?

<?php
$old = imageCreateFromJpeg("oldimg.jpg");
$w = imageSX($old);
$h = imageSY($old);
$wnew=200;
$hnew=200;
$new = imageCreate($wnew, $hnew);
imageCopyResized($new, $old, 0, 0, 0, 0, $wnew, $hnew, $w, $h);
imageJpeg($new, "newimg.jpg");
imageDestroy($old);
imageDestroy($new);
?>

Link to comment
Share on other sites

  • 0

возникла ещё одна проблема:

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

$target = "../files/photos/"."photo_".$date.".jpeg";
$target_prew = "../files/photos/"."photo_prew_".$date.".jpeg";
move_uploaded_file($source,$target);
$big = imagecreatefromjpeg($target);
$x = imagesx($big);
$y = imagesy($big);
$k = round($x/150);
$x_new = round($x/$k);
$y_new = round($y/$k);
$small = imagecreatetruecolor($x_new,$y_new);
imagecopyresized($small, $big, 0, 0, 0, 0, $x, $y, $x_new, $y_new);
imagejpeg($small,$target_prew);
imagedestroy($big);
imagedestroy($small);

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy