Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zmiana rozmaru *.jpg
geogis
post 23.03.2005, 21:57:07
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 12.03.2005

Ostrzeżenie: (0%)
-----


czy istnieje w php mozliwość zmiany rozmiarow zdjecia (szer. i wys.) ktory jest już na serwerze i zapisanie go jako osobnego pliku?questionmark.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
NuLL
post 24.03.2005, 12:47:44
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


A to ja się podlącze - funkcje, które przeskalowują obrazek zachowując proporcje - pierwsa wg. wysokosci, druga wg. szerokosci.
Pierwszy arg - nazwa pliku zrodła, drugi - plik wynikowy, trzeci oczekiwana wysokość, czwarte jakość. Następna podobnie z tym, że trzecia to oczekiwana szerokośc. GD nie daję możliwośći zapisu gif-a tak więc jest konwertowany do jpg-a.
  1. <?php
  2.  
  3.     function create_thumb_hfixed($file_name_src, $file_name_dest, $height, $quality=100)
  4.     {
  5.        if (file_exists($file_name_src)  && isset($file_name_dest))
  6.        {
  7.            $est_src = pathinfo(strtolower($file_name_src));
  8.            $est_dest = pathinfo(strtolower($file_name_dest));
  9.            $size = getimagesize($file_name_src);
  10.            $h = number_format($height, 0, ',', '');
  11.            $w = number_format(($size[0]/$size[1])*$height,0,',','');
  12.            if ($est_dest['extension'] == &#092;"gif\" || $est_dest['extension'] == \"jpg\")
  13.            {
  14.                $file_name_dest = substr_replace($file_name_dest, 'jpg', -3);
  15.                $dest = imagecreatetruecolor($w, $h);
  16.                imageantialias($dest, TRUE);
  17.            } elseif ($est_dest['extension'] == &#092;"png\")
  18.            {
  19.                $dest = imagecreatetruecolor($w, $h);
  20.                imageantialias($dest, TRUE);
  21.            } else
  22.            {
  23.               return FALSE;
  24.            }
  25.            switch($size[2])
  26.            {
  27.            case 1:       //GIF
  28.                $src = imagecreatefromgif($file_name_src);
  29.                break;
  30.            case 2:       //JPEG
  31.                $src = imagecreatefromjpeg($file_name_src);
  32.                break;
  33.            case 3:       //PNG
  34.                $src = imagecreatefrompng($file_name_src);
  35.                break;
  36.            default:
  37.                return FALSE;
  38.                break;
  39.            }
  40.            imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
  41.  
  42.            switch($size[2])
  43.            {
  44.            case 1:
  45.            case 2:
  46.                imagejpeg($dest,$file_name_dest, $quality);
  47.                break;
  48.            case 3:
  49.                imagepng($dest,$file_name_dest);
  50.            }
  51.            return TRUE;
  52.        }
  53.        return FALSE;
  54.     }
  55.  
  56.  
  57.     function create_thumb_wfixed($file_name_src, $file_name_dest, $weight,$quality=100)
  58.     {
  59.        if (file_exists($file_name_src)  && isset($file_name_dest))
  60.        {
  61.            $est_src = pathinfo(strtolower($file_name_src));
  62.            $est_dest = pathinfo(strtolower($file_name_dest));
  63.            $size = getimagesize($file_name_src);
  64.            $w = number_format($weight, 0, ',', '');
  65.            $h = number_format(($size[1]/$size[0])*$weight,0,',','');
  66.  
  67.            if ($est_dest['extension'] == &#092;"gif\" || $est_dest['extension'] == \"jpg\")
  68.            {
  69.                $file_name_dest = substr_replace($file_name_dest, 'jpg', -3);
  70.                $dest = imagecreatetruecolor($w, $h);
  71.                imageantialias($dest, TRUE);
  72.            } elseif ($est_dest['extension'] == &#092;"png\")
  73.            {
  74.                $dest = imagecreatetruecolor($w, $h);
  75.                imageantialias($dest, TRUE);
  76.            } else
  77.            {
  78.               return FALSE;
  79.            }
  80.            switch($size[2])
  81.            {
  82.            case 1:       //GIF
  83.                $src = imagecreatefromgif($file_name_src);
  84.                break;
  85.            case 2:       //JPEG
  86.                $src = imagecreatefromjpeg($file_name_src);
  87.                break;
  88.            case 3:       //PNG
  89.                $src = imagecreatefrompng($file_name_src);
  90.                break;
  91.            default:
  92.                return FALSE;
  93.                break;
  94.            }
  95.            imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
  96.  
  97.            switch($size[2])
  98.            {
  99.            case 1:
  100.            case 2:
  101.                imagejpeg($dest,$file_name_dest, $quality);
  102.                break;
  103.            case 3:
  104.                imagepng($dest,$file_name_dest);
  105.            }
  106.            return TRUE;
  107.        }
  108.        return FALSE;
  109.     }
  110.  
  111. ?>


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 17:18