На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Положения
1. Раздел "Готовые движки" предназначен для поиска и обсуждения готовых веб-решений.
2. Ответы с предложением разработать свой собственный движок будут удаляться без предупреждения.
  
    > Фотогаллерея , Что делать с Image?!
      Решил сделать фотогаллерею на сайте....
      Вот у меня такой вопрос:
      Как все знают, галлерея представляется как набор маленьких картинок
      Как организовать на сервере в пхп или с++/с резайз куартинок?!
        функциями GD к примеру ;)
            ExpandedWrap disabled
              function resize_image($src_file, $dest_file, $new_size)
              {
                  $imginfo = getimagesize($src_file);
                  if ($imginfo == null)
                      return false;
                  if ($imginfo[2] != IMG_JPG && $imginfo[2] != IMG_GIF) {
                      echo "Не верный формат изображения, поддерживаются JPG,GIF,PNG";
                      return false;
                  }
                  $srcWidth = $imginfo[0];
                  $srcHeight = $imginfo[1];
                  $ratio = max($srcWidth, $srcHeight) / $new_size;
                  $ratio = max($ratio, 1.0);
                  $destWidth = (int)($srcWidth / $ratio);
                  $destHeight = (int)($srcHeight / $ratio);
                  if (!function_exists('imagecreatefromjpeg')) {
                      die('PHP запущен без GD2');
                  }
                  if (!function_exists('imagecreatetruecolor')) {
                      die('PHP запущен без GD2');
                  }
                  if ($imginfo[2] == IMG_JPG)
                      $src_img = imagecreatefromjpeg($src_file);
                  else
                      $src_img = imagecreatefromgif($src_file);
                  if (!$src_img) {
                      echo "Файл не найден!";
                      return false;
                  }
                  $dst_img = imagecreatetruecolor($destWidth, $destHeight);
                  imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight);
                  imagejpeg($dst_img, $dest_file, 80);
                  imagedestroy($src_img);
                  imagedestroy($dst_img);
                  $imginfo = getimagesize($dest_file);
                  if ($imginfo == null) {
                      echo "Ошибка изменения размеров изображения!";
                      @unlink($dest_file);
                      return false;
                  } else {
                      return true;
                  }
              }
            Сообщение отредактировано: 2fank -
              2fank, вам бы для начала код научиться оформлять.
              http://tony2001.phpclub.net/doc/standard/
                SiMM, есть несколько соглашений о том, как следует оформлять код. Можно следовать Венгерской нотации, можно какой-нить от M$. Приведенное Вами соглашение тоже не является верхом идела с моей точки зрения. Хотя и вышеприведенный код врядли можно отнести к какой-либо из нотаций....
                  Цитата Rom@nych @
                  Можно следовать Венгерской нотации, можно какой-нить от M$.
                  Речь не о нотациях. А о банальном форматировании.
                  http://tony2001.phpclub.net/doc/standard/format.html
                  Цитата Rom@nych @
                  Хотя и вышеприведенный код врядли можно отнести к какой-либо из нотаций....
                  Да чёрт с ними, нотациями - приведённый код просто нечитаем.
                    Зато он хоть как-то поможет человеку.
                    А не просто на словах! Угу?
                      Цитата Magistr @
                      А не просто на словах! Угу?
                      Вообще-то ссылка на готовый код с объяснениями была раннее, если кто-то не заметил.
                        Цитата 2fank @
                        ExpandedWrap disabled
                          function resize_image($src_file, $dest_file, $new_size)
                          {
                              $imginfo = getimagesize($src_file);
                              if ($imginfo == null)
                                  return false;
                              if ($imginfo[2] != IMG_JPG && $imginfo[2] != IMG_GIF) {
                                  echo "Не верный формат изображения, поддерживаются JPG,GIF,PNG";
                                  return false;
                              }
                              $srcWidth = $imginfo[0];
                              $srcHeight = $imginfo[1];
                              $ratio = max($srcWidth, $srcHeight) / $new_size;
                              $ratio = max($ratio, 1.0);
                              $destWidth = (int)($srcWidth / $ratio);
                              $destHeight = (int)($srcHeight / $ratio);
                              if (!function_exists('imagecreatefromjpeg')) {
                                  die('PHP запущен без GD2');
                              }
                              if (!function_exists('imagecreatetruecolor')) {
                                  die('PHP запущен без GD2');
                              }
                              if ($imginfo[2] == IMG_JPG)
                                  $src_img = imagecreatefromjpeg($src_file);
                              else
                                  $src_img = imagecreatefromgif($src_file);
                              if (!$src_img) {
                                  echo "Файл не найден!";
                                  return false;
                              }
                              $dst_img = imagecreatetruecolor($destWidth, $destHeight);
                              imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight);
                              imagejpeg($dst_img, $dest_file, 80);
                              imagedestroy($src_img);
                              imagedestroy($dst_img);
                              $imginfo = getimagesize($dest_file);
                              if ($imginfo == null) {
                                  echo "Ошибка изменения размеров изображения!";
                                  @unlink($dest_file);
                                  return false;
                              } else {
                                  return true;
                              }
                          }

                        Ня.
                          2fank, ну вот, можешь же, когда захочешь ;)
                          Кстати можно было обойтись и без временного файла - Gif картинку в базу (сообщение #900938)
                          Сообщение отредактировано: SiMM -
                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script execution time: 0,0709 ]   [ 15 queries used ]   [ Generated: 28.04.24, 10:06 GMT ]