Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jedno zrodlo, dwa imageJPEG
Forum PHP.pl > Forum > PHP
kicaj
Pobieram zdrodlo pliku przez imageCreateFromJPEG(), tworze miniaturke i zapisuje, wszystko dziala bardzo dobrze, problem pojawia sie gdy skopiuje caly kod i wkleje nizej, pozamieniam rozmiary:
  1. <?php
  2. $resImageSource1 = imageCreateFromJPEG( $_FILES... );
  3. // tutaj tworze nowe wymiary, etc.
  4. $resImageSave1 = imageJPEG( ... ); // nazwa1.jpg
  5.  
  6. $resImageSource2 = imageCreateFromJPEG( $_FILES... ); // te same zrodlo co wyzej!
  7. // tutaj tworze nowe wymiary (wieksze), etc.
  8. $resImageSave2 = imageJPEG( ... ); // nazwa2.jpg
  9. ?>

Skrypt wykonuje zapisuje tylko ostatni obraz, dlaczego?
yaro
Spróbuj dać:

Kod
imagedestroy($resImageSource1);


po ostatecznym utworzeniu obrazu i zapisaniu go, czyli po pierwszym jak i drugim:

Kod
$resImageSave1 = imageJPEG( ... ); // nazwa1.jpg
kicaj
No wlasnie imageDestroy" title="Zobacz w manualu php" target="_manual() tez nie pomaga...

Podam caly kod, ktory przepisalem jak najprosciej:
  1. <?php
  2. $im_src = ImageCreateFromJPEG( $_FILES['news_foto']['tmp_name'] );
  3.  
  4. $srcx = ImagesX( $im_src );
  5. $srcy = ImagesY( $im_src );
  6.  
  7. $x = 150;
  8. $y = 100;
  9.  
  10. if( ( $srcx > $x ) || ( $srcy > $y ) ) 
  11. {
  12. if( $srcy > $srcx )
  13. {
  14. $ile = $srcy/$y;
  15. $szerokosc = $srcx/$ile;
  16. $wysokosc = $srcy/$ile;
  17. } 
  18. else 
  19. {
  20. $ile = $srcx/$x;
  21. $szerokosc = $srcx/$ile;
  22. $wysokosc = $srcy/$ile;
  23. }
  24. }
  25.  
  26. $im_doc = ImageCreateTrueColor( $szerokosc, $wysokosc );
  27. ImageCopyResampled( $im_doc, $im_src, 0, 0, 0, 0, $szerokosc, $wysokosc, $srcx, $srcy );
  28. ImageJPEG( $im_doc, 'photos/nazwa1.jpg' );
  29. ImageDestroy( $im_src );
  30.  
  31.  
  32. // Drugi plik o wiekszych wymiarach...
  33.  
  34. $im_src2 = ImageCreateFromJPEG( $_FILES['news_foto']['tmp_name'] );
  35.  
  36. $srcx2 = ImagesX( $im_src2 );
  37. $srcy2 = ImagesY( $im_src2 );
  38.  
  39. $x2 = 450;
  40. $y2 = 450;
  41.  
  42. if( ( $srcx2 > $x2 ) || ( $srcy2 > $y2 ) ) 
  43. {
  44. if( $srcy2 > $srcx2 )
  45. {
  46. $ile2 = $srcy2/$y2;
  47. $szerokosc2 = $srcx2/$ile2;
  48. $wysokosc2 = $srcy2/$ile2;
  49. } 
  50. else 
  51. {
  52. $ile2 = $srcx2/$x2;
  53. $szerokosc2 = $srcx2/$ile2;
  54. $wysokosc2 = $srcy2/$ile2;
  55. }
  56. }
  57.  
  58. $im_doc2 = ImageCreateTrueColor( $szerokosc2, $wysokosc2 );
  59. ImageCopyResampled( $im_doc2, $im_src2, 0, 0, 0, 0, $szerokosc2, $wysokosc2, $srcx2, $srcy2 );
  60. ImageJPEG( $im_doc2, 'photos/nazwa2.jpg' );
  61. ImageDestroy( $im_src2 );
  62. ?>

Nie dziala zapis dwoch naraz...
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.