Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]imagecopyresized
muminekSQL
post 24.10.2011, 18:31:02
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.12.2010

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


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

Ten post edytował muminekSQL 24.10.2011, 18:45:01
Go to the top of the page
+Quote Post
LewyM1
post 24.10.2011, 19:36:44
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 22.02.2011
Skąd: Sierpc

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


Przed obliczeniami ustawiasz już rozdzielczość, sprawdź funkcję imagecreatetruecolor.
http://php.net/manual/pl/function.imagecreatetruecolor.php
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: 12.06.2025 - 13:35