Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] upload plików z jednoczesnym połączeniem dwóch zdjęć w jedno
mpps
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

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


czy ktoś z Was spotkał się może z problemem łączenia dwóch lub kilku zdjęć w jedno w trakcie uploadu?
sytuacja wygląda tak:
1. ładowane są dwa zdjęcia poprzez formularz.
2. w trakcie uploadu zdjęcia są łączone w jedno (jedno pod drugim) i zapisywane jako jedno zdjęcie.

jak podejść do problemu?
czy powinno się przygotować najpierw jakiś szablon zdjęcia, na który zostaną 'wpisane' zdjęcia ładowane?
czy można się odwołać do współrzędnych na tym szablonie tak, aby wskazać od którego miejsca ma się odbyć 'wpisanie' obrazka?

ma ktoś pomysł?
to niech się, proszę, podzieli wiedzą (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mpps
post
Post #2





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

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


w końcu znalazłem czas, żeby znowu zająć się tematem i zrobiłem coś takiego:
  1. <?php
  2. // pobranie z formularza informacji o plikach
  3. $img1 = $_FILES['img1']['name'];
  4. $img2 = $_FILES['img2']['name'];
  5.  
  6. // okreslenie miejsca docelowego uploadowanych plikow
  7. $strUploadDir1 = 'img1/'.$_FILES['img1']['name'];
  8. $strUploadDir2 = 'img1/'.$_FILES['img2']['name'];
  9. $strUploadDir3 = 'img1/'.$_FILES['img1']['name'].'_'.$_FILES['img2']['name'];
  10.  
  11. // przeniesienie plikow
  12. move_uploaded_file($_FILES['img1']['tmp_name'], $strUploadDir1);
  13. move_uploaded_file($_FILES['img2']['tmp_name'], $strUploadDir2);
  14.  
  15. // pobranie informacji o wysokosci i szerokosci plikow
  16. // foto 1
  17. $size1 = getimagesize($strUploadDir1);
  18. // funkcja zmienia wymiary pierwszego zdjecia tak, aby jego szerokosc wynosila 200
  19. create_thumb_wfixed($strUploadDir1, $strUploadDir1, $width=200,$quality=90);
  20. // ponowne pobranie wymiarow juz zmienionego zdjecia
  21. $size1_mod = getimagesize($strUploadDir1);
  22.  
  23. // foto 2
  24. $size2 = getimagesize($strUploadDir2);
  25. // funkcja zmienia wymiary drugiego zdjecia tak, aby jego szerokosc wynosila 200
  26. create_thumb_wfixed($strUploadDir2, $strUploadDir2, $width=200,$quality=90);
  27. // ponowne pobranie wymiarow juz zmienionego zdjecia
  28. $size2_mod = getimagesize($strUploadDir2);
  29.  
  30. $width1 = $size1[0]; // szerokosc pierwszego oryginalnego zdjecia
  31. $height1 = $size1_mod[1]; // wysokosc pierwszego zmodyfikowanego zdjecia
  32. $width2 = $size2[0]; // szerokosc drugiego oryginalnego zdjecia
  33. $height2 = $size2_mod[1]; // wysokosc drugiego zmodyfikowanego zdjecia
  34. $height1height2 = $height1 + $height2;
  35.  
  36. $im = imagecreatetruecolor(200, $height1height2);
  37. $src1 = imagecreatefromjpeg($strUploadDir1);
  38. $src2 = imagecreatefromjpeg($strUploadDir2);
  39. $w = number_format(200, 0, ', ', '');
  40. $h = number_format($height1height2, 0, ', ', '');
  41. imagecopyresampled($im, $src1, 0, 0, 0, 0, $w, $h, 200, $height1height2);
  42. imagejpeg($im, $strUploadDir3, 90);
  43. $size3 = getimagesize($strUploadDir3);
  44. $width3 = $size3[0];
  45. $height3 = $size3[1];
  46. imagecopyresampled($im, $src2, 0, $height1, 0, 0, $w, $h, $width3, $height3);
  47. imagejpeg($im, $strUploadDir3, 90);
  48. imagedestroy($im);
  49.  
  50. unlink($strUploadDir1); // usuwamy pierwsze zdjecie
  51. unlink($strUploadDir2); // usuwamy drugie zdjecie
  52. ?>

pytania i problemy:
1. czy nie można prościej? może ma ktoś z Was pomysł?
2. czy można dokonać modyfikacji zdjęcia bez potrzeby jego ładowania do końcowego katalogu?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 06:01