Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]imagecopyresized
Forum PHP.pl > Forum > Przedszkole
muminekSQL
Witam

Potrzebuję zrobić miniaturki. Tylko, że czegoś nie rozumiem w funkcji imagecopyresized. Ucinam część zdjęcia potem jest skalowane i w wyniku tego otrzymuje zmniejszone zdjęcie, ale z ciemnym polem po prawej stronie ( to zdjęcie ma $width > $height). Co zrobić, żeby nie było tego czarnego kawałka ?

  1. header('Content-Type: image/jpeg');
  2.  
  3. $img = imagecreatefromjpeg('zdjecie.jpg');
  4.  
  5. $dest_width = 400;
  6. $dest_height = 400;
  7.  
  8. $mini = imagecreatetruecolor($dest_width, $dest_height);
  9.  
  10.  
  11. list($width, $height) = getimagesize('zdjecie.jpg');
  12.  
  13. if($width > $height) {
  14.  
  15. $x = ($width - $height) / 2;
  16. $y = 0;
  17. }
  18. elseif($width < $height) {
  19.  
  20. $x = 0;
  21. $y = ($height - $width) / 2;
  22. }
  23.  
  24. imagecopyresized($mini, $img, 0, 0, $x, $y, $dest_width, $dest_height, $width, $height);
  25.  
  26.  
  27. $photo = imagejpeg($mini, null, 90);

Tak to wygląda:
http://www.fotoload.pl/index.php?id=89abc0...5f458cf751be603
LewyM1
Przed obliczeniami ustawiasz już rozdzielczość, sprawdź funkcję imagecreatetruecolor.
http://php.net/manual/pl/function.imagecreatetruecolor.php
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.