Вход  Регистрация
Форумы
  • Авто - Мото
  • Артем
  • Виртуальная реальность
  • Владивосток
  • Здоровье и медицина
  • Игры и развлечения
  • Кино, теарты
  • Кулинария
  • Любовь - морковь
  • Музыка
  • Находка
  • Отдыхаем
  • Поговорим?
  • Пожелания и отзывы
  • Политика
  • Приморье
  • Путешествия
  • Религия
  • Сотовые операторы
  • Уссурийск
  • Хобби, увлечения
  • Юмор
  • Прогноз погоды
    Владивосток
    Сегодня
    0°C | 0°C
    Завтра
    0°C | 0°C
    Послезавтра
    0°C | 0°C
    Курс валют на
    06.12.2019
    Доллар США
    1
    USD
    :
    63.72 р.
    -0.09
    Евро
    1
    EUR
    :
    70.76 р.
    +0.04
    Японских иен
    100
    JPY
    :
    58.66 р.
    +0.05
    Китайских юаней
    10
    CNY
    :
    90.58 р.
    -0.03
    Фунт стерлингов Соединенного королевства
    1
    GBP
    :
    83.70 р.
    -0.17
    Украинских гривен
    10
    UAH
    :
    26.79 р.
    +0.10
     
    RSS Новости приморья RSS лента
    Например: нотариус

    php


     kent 28.02.2011 13:45


    C нами с: 26.03.2009
    Тем на форуме: 242
    Сообщений: 950
    Город: Владивосток
    у меня есть готовая функция. которая ресайзит картинку способом, который я описал в предыдущем посте. Но загвоздка в том, что она видимо работает как бы между компом и сервером.
     Admin 28.02.2011 13:51

    Азъ Езъм Царь
    C нами с: 25.02.2009
    Тем на форуме: 107
    Сообщений: 1121
    Город: Владивосток
    привести ее тут можешь?
    ______________________________
    Порой мы приходим к судьбе той дорогой, по которой от нее убегаем.
     kent 28.02.2011 13:55


    C нами с: 26.03.2009
    Тем на форуме: 242
    Сообщений: 950
    Город: Владивосток
    И кроме того она ресайзит фотки любые: горизонтальные и вертикальные. А мне нужно чтобы ширина была всегда фиксированная, а высота уже вычислялась. Потому что фотки будут всегда только вертикальные.
    Ты может подкинешь статейку, а то я просто не представляю как делать запрос в гугл на эту тему :)


    Code:
    <?php
    // Выставляем уровень обработки ошибок
      
    Error_Reporting(E_ALL & ~E_NOTICE);
      
    // Функция создающая уменьшенную копию фотографии $filename,
      // которая помещается в файл $smallimage
      // Уменьшенная копия имеет ширину и высоту равную
      // $w и $h пикселам, соответственно. Это максимально возможные значения.
      // Они будут пересчитаны чтобы сохранить пропорции масштабируемого изображения.
      
    function resizeimg($filename$smallimage$w$h
      { 
        
    // Имя файла с масштабируемым изображением 
        
    $filename "../".$filename
        
    // Имя файла с уменьшенной копией. 
        
    $smallimage "../".$smallimage;     
        
    // определим коэффициент сжатия изображения, которое будем генерить 
        
    $ratio $w/$h
        
    // получим размеры исходного изображения 
        
    $size_img getimagesize($filename); 
        
    // Если размеры меньше, то масштабирования не нужно 
        
    if (($size_img[0]<$w) && ($size_img[1]<$h)) return true
        
    // получим коэффициент сжатия исходного изображения
        
    $src_ratio=$size_img[0]/$size_img[1]; 

        
    // Здесь вычисляем размеры уменьшенной копии, чтобы при масштабировании сохранились 
        // пропорции исходного изображения 
        
    if ($ratio<$src_ratio
        { 
          
    $h $w/$src_ratio
        } 
        else 
        { 
          
    $w $h*$src_ratio
        } 
        
    // создадим пустое изображение по заданным размерам 
        
    $dest_img imagecreatetruecolor($w$h);   
        
    $white imagecolorallocate($dest_img255255255);        
        if (
    $size_img[2]==2)  $src_img imagecreatefromjpeg($filename);                       
        else if (
    $size_img[2]==1$src_img imagecreatefromgif($filename);                       
        else if (
    $size_img[2]==3$src_img imagecreatefrompng($filename); 

        
    // масштабируем изображение     функцией imagecopyresampled() 
        // $dest_img - уменьшенная копия 
        // $src_img - исходной изображение 
        // $w - ширина уменьшенной копии 
        // $h - высота уменьшенной копии         
        // $size_img[0] - ширина исходного изображения 
        // $size_img[1] - высота исходного изображения 
        
    imagecopyresampled($dest_img$src_img0000$w$h$size_img[0], $size_img[1]);
        
    // сохраняем уменьшенную копию в файл 
        
    if ($size_img[2]==2)  imagejpeg($dest_img$smallimage);                       
        else if (
    $size_img[2]==1imagegif($dest_img$smallimage);                       
        else if (
    $size_img[2]==3imagepng($dest_img$smallimage); 
        
    // чистим память от созданных изображений 
        
    imagedestroy($dest_img); 
        
    imagedestroy($src_img); 
        return 
    true;          
      }
    ?>



    Ну вот собственно описание. дальше она просто вызывается и используется.
     Admin 28.02.2011 14:24

    Азъ Езъм Царь
    C нами с: 25.02.2009
    Тем на форуме: 107
    Сообщений: 1121
    Город: Владивосток
    Ну так вот смотри:
    function resizeimg($filename, $smallimage, $w, $h)

    $filename - имя исходного файла,
    smallimage - нужный тебе файл,
    $w - желаемая ширина, $h - желаемая высота.

    Например ставь $w = 100, $h=1000. Тогда все картинки будут по ширине 100 пикселей, а высота подберется автоматом.
    ______________________________
    Порой мы приходим к судьбе той дорогой, по которой от нее убегаем.
     kent 28.02.2011 14:33


    C нами с: 26.03.2009
    Тем на форуме: 242
    Сообщений: 950
    Город: Владивосток
    А ты уверен. что будет именно ширина будет постоянная, а не высота?
    Этот скрипт работает на сайте одном. Там фотки разные, и горизонтальные и вертикальные, а превьюшка все равно имеет постоянную высоту, а не ширину

    Короче вот
    http://www.illuzion.ru/photo/index.php?id_parent=14
     Admin 28.02.2011 17:43

    Азъ Езъм Царь
    C нами с: 25.02.2009
    Тем на форуме: 107
    Сообщений: 1121
    Город: Владивосток
    Как именно, с какими параметрами сейчас скрипт вызывается?
    ______________________________
    Порой мы приходим к судьбе той дорогой, по которой от нее убегаем.
     kent 28.02.2011 21:30


    C нами с: 26.03.2009
    Тем на форуме: 242
    Сообщений: 950
    Город: Владивосток
    Code:
    <?php
    if(!resizeimg($image$smallimage200150))
        
    links($_BLA['bla'], "Бла бла бла");
    ?>


    единственный вызов этой функции
     Admin 01.03.2011 06:57

    Азъ Езъм Царь
    C нами с: 25.02.2009
    Тем на форуме: 107
    Сообщений: 1121
    Город: Владивосток
    Ну вот, у тебя заданы максимальная ширина 200, а высота 150. Т.е. все фотки ресайзятся так, чтобы высота была не более 150, а ширина не более 200.
    У тебя у всех фоток высота 150. А ты поставь ее 500, и тогда у всех фоток будет ширина 200, т.е. ты заведомо даешь завышенную высоту, чтобы ресайз только по ширине шел.
    ______________________________
    Порой мы приходим к судьбе той дорогой, по которой от нее убегаем.
     kent 01.03.2011 07:03


    C нами с: 26.03.2009
    Тем на форуме: 242
    Сообщений: 950
    Город: Владивосток
    Не получается.
    Вот скажи. что это такое?

    Code:
    <?php
    // Имя файла с масштабируемым изображением 
    $filename "../".$filename
    // Имя файла с уменьшенной копией. 
    $smallimage "../".$smallimage;
    ?>


    Не могу срастить где что к чему присваивается.
    $filename который слева это новая переменная, которая равна $filename из
    Code:
    <?php
    function resizeimg($filename$smallimage$w$h)
    ?>


    И почему стоит выход на уровень выше?
     Admin 03.03.2011 10:21

    Азъ Езъм Царь
    C нами с: 25.02.2009
    Тем на форуме: 107
    Сообщений: 1121
    Город: Владивосток
    kent пишет:
    Вот скажи. что это такое?

    Это переменные с путями к файлам.
    kent пишет:
    $filename который слева это новая переменная, которая равна $filename из

    $filename - исходное, $smallimage - новое.
    ______________________________
    Порой мы приходим к судьбе той дорогой, по которой от нее убегаем.
    Добавлять ответы могут только зарегистрированные пользователи. Зайдите в свой аккаунт или зарегистрирутесь.


    RedMall

    Сейчас на сайте зарегистрированных пользователей: 3 из 6702
    Рыбочка, xxx, Arsench

    О проекте | Коллектив | Реклама на сайте | контактная информация
    Любое использование материалов без разрешения автора сайта запрещено. Разработка сайта Asinka.Ru

    Время генерации 0.232304 мсек