1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Генерация image preview в PHP

Тема в разделе "Web Coding", создана пользователем sesharim, 10 ноя 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. sesharim

    sesharim

    Регистр.:
    4 окт 2006
    Сообщения:
    297
    Симпатии:
    26
    Есть у меня скриптик, который тупо открывает фотографии, и выводит их в размере 100х100, но это всё равно что грузить полноценное фото по времени, хочу сделать превью, что можете посоветовать по данному поводу? :)
     
    бандит нравится это.
  2. RALF

    RALF черный рыцарь

    Регистр.:
    1 май 2006
    Сообщения:
    114
    Симпатии:
    25
    Можно не париться и в вверху html файла прописать:
    А в теле уже самого документа сделать например вот так:
    Вот в принципе и всё! Ну это самый простой вариант!
     
  3. sesharim

    sesharim

    Регистр.:
    4 окт 2006
    Сообщения:
    297
    Симпатии:
    26
    эти примеры с vetton или других wallpaper базах я уже видел. Ты меня не понял, например идёт 100х100 картинка, которая сжатая и быстрее грузится, щелкаешь, и уже полноценная картинка открывается.
     
  4. cashmaniac

    cashmaniac Постоялец

    Регистр.:
    12 янв 2007
    Сообщения:
    64
    Симпатии:
    5
    бандит нравится это.
  5. sesharim

    sesharim

    Регистр.:
    4 окт 2006
    Сообщения:
    297
    Симпатии:
    26
    всё равно не то, это слишком объемно, нужна ну, можно даже сказать функция, через которою проходит картинка, функция сжимает её до размеров 100х100, но и по размеру, получается превью. :)
     
    бандит нравится это.
  6. bueno

    bueno Читатель

    Заблокирован
    Регистр.:
    7 май 2007
    Сообщения:
    236
    Симпатии:
    69
    вот, наример.. пологаю по именам переменных все понятно..
    PHP:
    function img_resize($src$dest$width$height$rgb=0xFFFFFF$quality=100)
    {
      if (!
    file_exists($src)) return false;

      
    $size getimagesize($src);

      if (
    $size === false) return false;

      
    $format strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
      
    $icfunc "imagecreatefrom".$format;
      if (!
    function_exists($icfunc)) return false;

      
    $x_ratio $width $size[0];
      
    $y_ratio $height $size[1];

      
    $ratio       min($x_ratio$y_ratio);
      
    $use_x_ratio = ($x_ratio == $ratio);

      
    $new_width   $use_x_ratio  $width  floor($size[0] * $ratio);
      
    $new_height  = !$use_x_ratio $height floor($size[1] * $ratio);
      
    $new_left    $use_x_ratio  floor(($width $new_width) / 2);
      
    $new_top     = !$use_x_ratio floor(($height $new_height) / 2);

      
    $isrc $icfunc($src);
      
    $idest imagecreatetruecolor($width$height);

      
    imagefill($idest00$rgb);
      
    imagecopyresampled($idest$isrc$new_left$new_top00$new_width$new_height$size[0], $size[1]);

      
    $icfunc($idest$dest$quality);

      
    imagedestroy($isrc);
      
    imagedestroy($idest);

      return 
    true;
    }
     
    бандит нравится это.
  7. sesharim

    sesharim

    Регистр.:
    4 окт 2006
    Сообщения:
    297
    Симпатии:
    26
    тоесть пропускать это через:

    PHP:
    echo img_resize(адресс/картинка.джпг); ?
     
    бандит нравится это.
  8. bueno

    bueno Читатель

    Заблокирован
    Регистр.:
    7 май 2007
    Сообщения:
    236
    Симпатии:
    69
    нет.. ф-я ресайзит и сохраняет..
    $src - адрес модифицируемой картинки
    $dest - куда красть модифицированную
    $width - конечная ширина
    $height - конечная высота
    $rgb - rgp код цвета (формат: 0x + значение в шестнадцатиричном виде)
    $quality - качество (для jpg)

    если немного доработать - поставить проверку $dest, то можно выдавать прямо в поток (ресайзить на лету)..
     
  9. XeonN

    XeonN

    Регистр.:
    13 ноя 2006
    Сообщения:
    369
    Симпатии:
    150
    Ресайзинг на лету будет сильно грузить сервер лучше создать еще одну вложеную папку к примеру "thumbs" и туда сохранять превьюшки каритнок в заданом размере ) При одинаковых названия весьма удобно и не запутаешься )
     
    бандит нравится это.
  10. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.068
    Симпатии:
    197
    2 XeonN
    согласен, один раз правдо приедться помучаться через скрипт или самому. хотя проще переделать предложенный скрипт что б он один раз сохранил превьюшки в нужную папку
     
    бандит нравится это.
Статус темы:
Закрыта.