Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dynamiczne zmniejszanie zdjęcia
Forum PHP.pl > Forum > Przedszkole
The Night Shadow
W jaki sposób za pomocą PHP zmniejszyć zdjęcie, zachowując jego proporcje tak, aby jego wysokość i szerokość nie przekraczały określonych wartości?

Ewentualnie w jaki sposób zmniejszone proporcjonalnie zdjęcie umieścić na na przykład białym tle, by grafika jako całość zawsze miała określoną wielkość?

Wykombinowałem coś takiego:

  1. <?php
  2. // File and new size
  3. $filename = $_GET['img_name'];
  4. $percent = 0.15;
  5.  
  6. // Content type
  7. header('Content-type: image/jpeg');
  8.  
  9. // Get new sizes
  10. list($width, $height) = getimagesize($filename);
  11.  
  12. if ( $width < $height )
  13. {
  14. $newheight = 60;
  15. $newwidth = ceil($width*$newheight/$height);
  16. }
  17. else
  18. {
  19. $newwidth = 60;
  20. $newheight = ceil($newwidth/$width*$height);
  21. }
  22.  
  23. // Load
  24. $source = imagecreatefromjpeg($filename);
  25. $thumb = imagecreatetruecolor($newwidth, $newheight);
  26.  
  27. // Resize
  28. imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  29.  
  30. // Output
  31. imagejpeg($thumb);
  32. ?>


Ale w jaki sposób zdjęcie ustawić na środku wysokości i szerokości, oraz dodać białe tło?
kresh
  1. <?php
  2. imagecopyresized ( resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_w, int $dst_h, int $src_w, int $src_h )
  3. ?>


Musisz sobie policzyć te dwie wartości
int $dst_x,
int $dst_y

a co do drugiej sprawy to próbowałeś tego?
  1. <?php
  2. imagecolorallocate($im, 255, 255, 255);
  3. ?>


ale nie wiem czy to zadziała bo sam nie testowałem.
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.