Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja tworząca miniatury obrazów.{Prosze o pomoc}
Forum PHP.pl > Forum > PHP
Booyaches
Witam !
To znowu ja i znowu ten sam kawalek kodu guitar.gif . Tym razem jednak dodalem kilka funkcji, ktore maja za zadanie pobrac z bazy danych nazwe obrazu w *.jpg i przeslac ją do funkcji "zmniejszającej" go do miniatury... to zaś ma się zdarzyć tyle razy ile w tabeli znajduje sie rekordow, dla ktorych picture_artistid = $userid jest prawdą. Następnie wszystkie miniatury maja zostać wyświetlone na stronie. Kod zmniejszający obrazy stworzylem na podstawie artykulu z pewnej strony o php. Artykul ten jednak nie byl dla początkujących (takich jak ja) tylko dla nieco bardziej zaawansowanych wiec pominięto w nim wyjaśnienie kilku kwestji. Nie rozumiem przede wszystkim co zwraca mi funkcja resizePicture();... czy jest to ścieżka do obrazu tymczasowo zapisanego ? Czy jest to sama nazwa czy caly obraz ? Nie rozumiem tez jak mam użyć tego co zwróci mi ta funkcja.
Zamieszczam caly kod pliku userProfile.php zeby bylo wiadomo o co chodzi:

  1. <?php
  2. /* READ COOKIE */
  3. $user = $HTTP_COOKIE_VARS["user"];
  4.  
  5. /* VARIABLES */
  6. $loginreq = "";
  7. $content1 = "";
  8. $content2 = "";
  9. $thumbnailx = 150;
  10. $thumbnaily = 113;
  11.  
  12. /* QUARIES */
  13. include ("inc/sqlConnect.php");
  14.  
  15. $query = "SELECT * FROM artist WHERE artist_email = '$user'";
  16. $result = mysql_query($query);
  17. $data = mysql_fetch_assoc($result);
  18.  
  19. $userid = $data['artist_id'];
  20.  
  21. $picquery = "SELECT * FROM pictures WHERE picture_artistid = '$userid'";
  22. $result2 = mysql_query($picquery);
  23.  
  24. /* FUNCTIONS */
  25. if ($user == "") {
  26.  
  27. $loginreq = include("login.php");
  28.  
  29. } else {
  30.  
  31. /* CONTENT VARIABLES */
  32. $content1 = "<img src=\"avatars/".$data['artist_avatarname']."\" border=\"0\" /> &nbsp;<b>".$data['artist_name']." ".$data['artist_surname']."</b>"
  33. ."<br/><br/>".$data['artist_description']."";
  34.  
  35. while ($picdata = mysql_fetch_assoc($result2))
  36. {
  37.  resizePicture("pictures/".$picdata['picture_filename']."", $thumbnailx, $thumbnaily);
  38.  $content2 .= $new_picture;
  39. }
  40. };
  41.  
  42. /* CREATE THUMBNAIL FUNCTION */
  43.  
  44. function resizePicture($picture, $expwidth, $expheight) {
  45.    list($width, $height) = getimagesize($picture);
  46.    $xscale=$width/$expwidth;
  47.       $yscale=$height/$expheight;
  48.    
  49.  if ($yscale>$xscale){
  50.        $new_width = round($width * (1/$yscale));
  51.        $new_height = round($height * (1/$yscale));
  52.    } else {
  53.        $new_width = round($width * (1/$xscale));
  54.        $new_height = round($height * (1/$xscale));
  55.    }
  56.  
  57.  $new_picture = imagecreatetruecolor($new_width, $new_height);
  58.    $temporary_picture = imagecreatefromjpeg ($picture);
  59.    imagecopyresampled($new_picture, $temporary_picture, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
  60.  
  61. return $new_picture;
  62.  
  63. };
  64.  
  65.  
  66.  
  67. ?>
  68. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  69. <head>
  70. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  71. <title>Untitled Document</title>
  72. </head>
  73. <body>
  74. <?
  75. echo $loginreq;
  76. echo $content1;
  77. echo $content2;
  78. ?>
  79. </body>
  80. </html>
maly_swd
funkcja resizePicture() zwraca przetworzony obraz przez GD, nalezy to co ona zwroci zapisac do pliku przy pomocy imagejpg() , i dopiero taki plik wczytywac przez <img src...>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.