Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Rozmiar miniaturki taki sam dla każdego zdjęcia jak zrobic?
Forum PHP.pl > Forum > Przedszkole
jacus24
Witam mam skrypt który zapisuje fotki do katalogu zdjęcia i tworzy miniaturki i zapisuje je do podkatalogu thumbs. Każde zdjęcie jest skalowane do 0.30 swojej wielkości a chciałbym żeby każda miniaturka była tej samej wielkości co muszę tutaj zmienić albo dodać żeby były takiej samej wielkości?
  1. <?php
  2. // umieszczenie obrazu i sprawdzenie jego formatu
  3. $ImageDir =&#092;"C:/usr/krasnal/www/imgay/zdjecia/\";
  4. $ImageThumb = $ImageDir . &#092;"thumbs/\";
  5. $ImageName = $ImageDir . $image_tempname;
  6.  
  7. if (move_uploaded_file($_FILES['image_filename']['tmp_name'],
  8.  $ImageName)) {
  9.  
  10. // pobranie informacji na temat umieszczonego obrazu
  11. list($width , $height , $type , $attr) = getimagesize($ImageName);
  12.  
  13.  
  14.  
  15. if ($type > 3) {
  16. echo &#092;"Przykro nam, ale przesłany obraz nie jest w formacie GIF, JPG lub PNG
  17. &#092;";
  18. } else {
  19.  
  20. //obraz jest w poprawnym formacie można kontunuować
  21.  
  22. // wstawienie informacji do tabeli images
  23.  
  24. $insert = &#092;"INSERT INTO images
  25.  (image_caption, user_id, image_date)
  26.  VALUES
  27.  ('$image_caption', '$user_id', '$today')&#092;";
  28. $insertresults = mysql_query($insert)
  29. or die(mysql_error());
  30.  
  31. $lastpicid = mysql_insert_id();
  32.  
  33. $newfilename = $ImageDir . $lastpicid . &#092;".jpg\";
  34.  
  35.  if ($type == 2) {
  36. rename($ImageName , $newfilename);
  37. } else {
  38. if ($type == 1) {
  39. $image_old = imagecreatefromgif($ImageName);
  40. } elseif ($type == 3) {
  41. $image_old = imagecreatefrompng($ImageName);
  42. }
  43.  
  44. $image_jpg = imagecreatetruecolor($width, $height);
  45. imagecopyresampled($image_jpg, $image_old, 0,0,0,0,
  46. $width, $height, $width, $height);
  47. imagejpeg($image_jpg, $newfilename);
  48. imagedestroy($image_old);
  49. imagedestroy($image_jpg);
  50. }
  51. $newthumbname = $ImageThumb . $lastpicid . &#092;".jpg\";
  52.  
  53. //pobierz wymiary miniaturki
  54. $thumb_width = $width * 0.30;
  55. $thumb_height = $height * 0.30;
  56.  
  57. //utworz miniaturke
  58. $largeimage = imagecreatefromjpeg($newfilename);
  59. $thumb = imagecreatetruecolor($thumb_width, $thumb_height);
  60. imagecopyresampled($thumb, $largeimage, 0,0,0,0,
  61. $thumb_width, $thumb_height, $width, $height);
  62. imagejpeg($thumb , $newthumbname);
  63. imagedestroy($largeimage);
  64. imagedestroy($thumb);
  65.  
  66. $url = &#092;"location: showimage.php?id=\" . $lastpicid;
  67. header($url);
  68. }
  69. }
  70. ?>
Vexator
  1. <?php
  2. //pobierz wymiary miniaturki
  3. $thumb_width = $width * 0.30;
  4. $thumb_height = $height * 0.30;
  5. ?>

zamień na
  1. <?php
  2. //pobierz wymiary miniaturki
  3. $thumb_width = 80;
  4. $thumb_height = 60;
  5. ?>
jacus24
Dzięki za pomoc.
Vexator
oczywiście, jeśli czasami masz obrazek w pionie, a czasami w poziomie, to musisz wpisać
  1. <?php
  2. //pobierz wymiary miniaturki
  3. if ($width>$height)
  4. {
  5. $thumb_width = 80;
  6. $thumb_height = 60;
  7. }
  8. else
  9. {
  10. $thumb_width = 60;
  11. $thumb_height = 80;
  12. }
  13. ?>
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.