Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP + GD, Jak tworzyć miniatury ???
Jaen-ni-rin
post 22.12.2004, 20:16:08
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.12.2004

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


Tworzę prostą galerię w php i chciałbym się dowiedzieć jak za pomocą GD można tworzyć miniatury dużych obrazków.
Duże obrazki będą umieszczone w katalogu big/ i po dokonaniu zmiany rozmiarow na 200x150 powinny być zapisywane w thumbs/.
Jakieś propozycje co do kodu ? W GD jestem zielony, więc w miarę możliwości proszę o dokładną odpowiedź. smile.gif

Ten post edytował Jaen-ni-rin 22.12.2004, 20:16:33


--------------------
Go to the top of the page
+Quote Post
Liko
post 22.12.2004, 20:38:15
Post #2





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

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


  1. <?php
  2. // $src - sciezka obrazka zmienianego
  3. // $dest - sciezka utworzonego obrazka
  4. // reszta wiadomo
  5.  
  6. function resize_photo($src, $dest, $maxWidth, $maxHeight, $quality = 70) {
  7.  if (file_exists($src) && isset($dest)) {
  8.  // path info
  9.  $destInfo = pathInfo($dest);
  10.  
  11.  // image src size
  12.  $srcSize = getImageSize($src);
  13.  
  14.  // image dest size $destSize[0] = width, $destSize[1] = height
  15.  $srcRatio = $srcSize[0]/$srcSize[1]; // width/height ratio
  16.  $destRatio = $maxWidth/$maxHeight;
  17.  if ($destRatio > $srcRatio) {
  18.  $destSize[1] = $maxHeight;
  19.  $destSize[0] = $maxHeight*$srcRatio;
  20.  }
  21.  else {
  22.  $destSize[0] = $maxWidth;
  23.  $destSize[1] = $maxWidth/$srcRatio;
  24.  }
  25.  
  26.  // path rectification
  27.  if ($destInfo['extension'] == &#092;"gif\") {
  28.  $dest = substr_replace($dest, 'jpg', -3);
  29.  }
  30.  
  31.  // true color image, with anti-aliasing
  32.  $destImage = imageCreateTrueColor($destSize[0],$destSize[1]);
  33.  imageAntiAlias($destImage,true);
  34.  
  35.  // src image
  36.  switch ($srcSize[2]) {
  37.  case 1: //GIF
  38.  $srcImage = imageCreateFromGif($src);
  39.  break;
  40.  
  41.  case 2: //JPEG
  42.  $srcImage = imageCreateFromJpeg($src);
  43.  break;
  44.  
  45.  case 3: //PNG
  46.  $srcImage = imageCreateFromPng($src);
  47.  break;
  48.  
  49.  default:
  50.  return false;
  51.  break;
  52.  }
  53.  
  54.  // resampling
  55.  imageCopyResampled($destImage, $srcImage, 0, 0, 0, 0,$destSize[0],$destSize[1],$srcSize[0],$srcSize[1]);
  56.  
  57.  // generating image
  58.  switch ($srcSize[2]) {
  59.  case 1:
  60.  case 2:
  61.  imageJpeg($destImage,$dest,$quality);
  62.  break;
  63.  
  64.  case 3:
  65.  imagePng($destImage,$dest);
  66.  break;
  67.  }
  68.  return true;
  69.  }
  70.  else {
  71.  return false;
  72.  }
  73. }
  74. ?>


Wziąłem to z tego postu: http://forum.php.pl/index.php?showtopic=22...ndpost&p=135497
Wystarczylo wpisać w szukarke słówka: miniatury.
Go to the top of the page
+Quote Post
squid
post 23.12.2004, 13:45:18
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

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


tego bylo juz sporo poszukaj na forum bo naprawde znajdziej o tym wszystko


--------------------
Jeśli życie to kara to nieźle nabroiłem ;-)
Go to the top of the page
+Quote Post

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: 12.07.2025 - 08:23