Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Dynamiczne zmniejszanie zdjęcia, Z uwzględnieniem proporcji
The Night Shadow
post 24.04.2007, 10:19:31
Post #1





Grupa: Zarejestrowani
Postów: 495
Pomógł: 2
Dołączył: 5.02.2006
Skąd: Wrocław

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


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?

Ten post edytował The Night Shadow 24.04.2007, 10:43:12


--------------------
Programista Stron i Serwisów WWW oraz Aplikacji Internetowych
Specjalista ds. Pozycjonowania Aplikacji Internetowych
Copywriter
Go to the top of the page
+Quote Post
kresh
post 24.04.2007, 11:28:15
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 2
Dołączył: 8.11.2005
Skąd: Kraków

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


  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.

Ten post edytował kresh 24.04.2007, 11:30:14


--------------------
Programuj pod kątem interfejsu, nie implementacji
Gang of Four

michalbarys.pl
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: 13.08.2025 - 22:33