Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt do resizu obrazkow JPG, GIF i PNG, gdzie tu jest błąd ???
miedzna
post
Post #1





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


Mam scrypt, który zmienia rozdzielczość obrazków, ale oczywiście wywala mi 3 błedy:
Warning: imagecreatetruecolor(): Invalid image dimensions in r:\home\localhost\www\imgs\mini.php on line 64

Warning: imagecopyresized(): supplied argument is not a valid Image resource in r:\home\localhost\www\imgs\mini.php on line 66

Fatal error: Call to undefined function: imagegif() in r:\home\localhost\www\imgs\mini.php on line 36

  1. <?php
  2. $img_type = null;
  3. function getImage($imgName)
  4. {
  5. $ext = substr($imgName, strlen($imgName) - 3, 3);
  6. $ext = strtolower($ext);
  7. if($ext == 'jpg'){
  8. $img = imagecreatefromjpeg($imgName);
  9. $GLOBALS['img_type'] = IMG_JPEG;
  10. }
  11. else if($ext == 'gif'){
  12. $img = imagecreatefromgif($imgName);
  13. $GLOBALS['img_type'] = IMG_GIF;
  14. }
  15. else if($ext == 'png'){
  16. $img = imagecreatefrompng($imgName);
  17. $GLOBALS['img_type'] = IMG_PNG;
  18. }
  19. else{
  20. $img = null;
  21. $GLOBALS['img_type'] = null;
  22. }
  23. return $img;
  24. }
  25. function saveImage($img, $name, $imgType)
  26. {
  27. $name = substr($name, 0, strlen($name) - 5);
  28. $name = $name.&#092;"-resized.\";
  29. switch($imgType){
  30. case IMG_JPEG:
  31. $name .= &#092;"jpg\";
  32. imagejpeg($img, $name);
  33. break;
  34. case IMG_GIF:
  35. $name .= &#092;"gif\";
  36. imagegif($img, $name);
  37. break;
  38. case IMG_PNG:
  39. $name .= &#092;"png\";
  40. imagepng($img, $name);
  41. break;
  42. }
  43. }
  44.  
  45. function resize($imgName, $size)
  46. {
  47. if(!($img = getImage($imgName))){
  48. echo(&#092;"Nie mogę otworzyć pliku: $imgName\");
  49. return false;
  50. }
  51. $img_w = imagesx($img);
  52. $img_h = imagesy($img);
  53.  
  54. $ration = $img_w / $img_h;
  55.  
  56. if($ratio > 1){
  57. $new_img_w = $size;
  58. $new_img_h = ($size / $ratio);
  59. }
  60. else{
  61. $new_img_w = ($size * $ratio);
  62. $new_img_h = $size;
  63. }
  64. $tempImg = imagecreatetruecolor($new_img_w, $new_img_h);
  65. imagecopyresized($tempImg, $img, 0, 0, 0, 0, 
  66. $new_img_w, $new_img_h, $img_w, $img_h);
  67.  
  68. saveImage($tempImg, $imgName, $GLOBALS['img_type']);
  69. }
  70. resize(&#092;"1.gif\", 100);
  71. ?>
Go to the top of the page
+Quote Post
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Kluczowy jest tu ostatni błąd: Twoja gd nie obsługuje gifów.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
miedzna
post
Post #3





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


Cytat(kszychu @ 2005-03-04 11:28:24)
Kluczowy jest tu ostatni błąd: Twoja gd nie obsługuje gifów.

I co mam z tym zrobić ?
Go to the top of the page
+Quote Post
zulus
post
Post #4





Grupa: Zarejestrowani
Postów: 225
Pomógł: 18
Dołączył: 30.06.2003
Skąd: Wrocław

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


dwa sposoby, załadować sobie gd z obsługą gifów, albo zamiast gifów użyć np png


--------------------
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 Aktualny czas: 19.08.2025 - 20:09