За последние 24 часа нас посетили 20444 программиста и 1645 роботов. Сейчас ищут 1347 программистов ...

Уменьшение и ресайз

Тема в разделе "Обработка изображений средствами PHP", создана пользователем soundmax, 30 июн 2010.

  1. soundmax

    soundmax Активный пользователь

    С нами с:
    30 июн 2010
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте, можете подсказать скрипт для уменьшения и ресайза картинок с другого хостинга, и чтобы изображения при этом нигде не сохранялись. И в итоге можно было получить измененную картинку через url примерно такого вида: site.ru/resize.php?url=site.ru/image.jpg ?
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    можно сразу вставлять

    <img src="http://другой сайт" width="10" height="10">
     
  3. soundmax

    soundmax Активный пользователь

    С нами с:
    30 июн 2010
    Сообщения:
    5
    Симпатии:
    0
    На моем сайте много картинок, они много весят, у меня сейчас так, как вы сказали, только проблемы не решает.
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ну можно. Только вот не перегрузит ли это ваш сервер?

    Тут куча топиков с готовым кодом. Главный принцип: сначала картинку уменьшают без сглаживания на какую-то часть. Потом уже со сглаживанием. Это экономит ресурсы процессора, именно вам такой вариант и нужен.
     
  5. soundmax

    soundmax Активный пользователь

    С нами с:
    30 июн 2010
    Сообщения:
    5
    Симпатии:
    0
    igordata, Я полазил по форуму, но именно на эту тему не нашел. Можете дать такой код?
    P.S. Сколько будет стоить такой скрипт, если заказать?
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    хз. немного. именно в этом разделе есть скрипты, которые ужимают картинки. =) смотрите внимательнее.

    Чтобы выдать картинку на-гора, а не сохранять - тоже можно сделать, думается.

    Если не жмотите заказать, пишите внизу форма во фриланс, там вам и цену скажут. Дорого это не будет. Главное попросите чтобы параметры у скрипта были, и чтобы через гет, и чтобы можно было конфиг держать в отдельном файле - будете счастливы.

    Однако мне кажется, что есть смысл задуматься о кешировании. Ибо придется каждый раз с того сайта-то качать целиковые фотки! А смысл? Надо писать скрипт, который будет сохранять в бд или где там всякую инфу, чтобы определять, изменилась ли картинка,и только тогда ее загружать и жать, и сохранять в кэш локально, и оттуда уже выдавать.

    Мое такое мнение.
     
  7. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    2 минуты:

    PHP:
    1. <?php
    2.  
    3. if(isset($_GET["url"]) && isset($_GET["width"]) && isset($_GET["height"])) {
    4.  $image = imagecreatefromstring(urldecode($_GET["url"]));
    5.  
    6.  if($image) {
    7.   $width  = intval($_GET["width"]);
    8.   $height = intval($_GET["height"]);
    9.  
    10.   $resampled = imagecreatetruecolor($width, $height);
    11.  
    12.   // Уменьшим бяку
    13.       $resampled,
    14.       $image,
    15.       0,
    16.       0,
    17.       0,
    18.       0,
    19.       $width,
    20.       $height,
    21.       imagesx($image),
    22.       imagesy($image)
    23.   );
    24.  
    25.   // Отдадим картинку браузеру
    26.   header("Content-type: image/jpeg");
    27.   imagejpeg($resampled);
    28.  
    29.   imagedestroy($resampled);
    30.   imagedestroy($image);
    31.  }
    32. }
    33.  
    34. ?>
    Передавать аргументы так:
    http://example.com/image.php?url=http:/ ... &height=10

    Ну а теперь оплати совестью =)
     
  8. soundmax

    soundmax Активный пользователь

    С нами с:
    30 июн 2010
    Сообщения:
    5
    Симпатии:
    0
  9. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Я не проверял просто.
    Заменить строчку:
    Код (Text):
    1. $image = imagecreatefromstring(urldecode($_GET["url"]));
    на следующую:
    Код (Text):
    1. $image = imagecreatefromstring(file_get_contents(urldecode($_GET["url"])));