Czy istnieje sposób na wygenerowanie jednego obrazu z kilku obrazów przeciągniętych i upuszczonych przez użytkownika w niektórych pozycjach kontenera div?
Próbowałem to zrobić za pomocą płótna html5, jednak płótno html5 nie integruje się za pomocą jquery, aby zmienić źródło obrazów na płótnie.
2 odpowiedzi
Możesz wysłać adresy URL obrazów i współrzędne do skryptu PHP, a następnie (po stronie serwera) złożyć różne obrazy w jeden za pomocą funkcje manipulacji obrazami.
EDYTUJ
Podam kilka krótkich wskazówek, w jaki sposób możesz wykonać swoje zadanie.
Otrzymasz formularz z 3 tablicami ukrytych <input>
s: adresy URL obrazów, współrzędne x i współrzędne y umieszczonych obrazów. Będą one wypełniane przez jquery, gdy użytkownik upuszcza obrazy do kontenera.
Skrypt asemblera działałby w podobny sposób:
- Utwórz (duży) pusty obraz kontenera (za pomocą imagecreatetruecolor()), zadzwońmy to
$imcont
Przeczytaj kolejno wysłane adresy URL (np.
$_POST['url'][$i]
), otwórz odpowiedni obraz i utwórz obraz dla każdego z nich, np. imagecreatefromstring(file_get_contents($_POST['url'][$i]));jeśli potrzebujesz wymiarów małego obrazu, możesz użyć getimagesize() jak ten:
list($iwidth,$iheight) = getimagesize($_POST['url'][$i]);
- imagecopy() obraz utworzony w pt. 2 do
$imcont
, przy odpowiednich współrzędnych POSTed (np.$_POST['xcoords'][$i],$_POST['ycoords'][$i]
) - Powtórz pkt. 2 i 3 dla każdego zamieszczonego obrazu.
- Zapisz wygenerowany obraz
$imcont
, np. jeśli chcesz stworzyć obraz jpeg, użyj imagejpeg().
Uwaga
- Aby POST tablice z formularza, użyj
[]
po nazwie wejściowej, np.<input name="foo[]" ... >
; $i
to indeks w pętli for;- normalnie nie wysyłasz całej ścieżki systemu plików, jak wymaga tego file_get_contents(), więc prawdopodobnie będziesz musiał dodać katalog bazowy obrazów do
$_POST['url'][$i]
; - jeśli chcesz czytać obrazy z adresu URL, takiego jak
http://www.site.com/image.jpg
(przeciwnie do ścieżki systemu plików, takiej jak/usr/share/images/image.jpeg
), będziesz potrzebować allow_url_fopen włączone w Twojej konfiguracji PHP; - obrazy zostaną skopiowane do kontenera w kolejności przetwarzania z, tj. pierwszy z nich zostanie wklejony pod wszystkimi innymi.
@mohamed
Jeśli chcesz przykładowy kod, może to ci trochę pomoże http://www.bolducpress.com/ tutoriale/jak-zrobić-niestandardowe-awatary-z-php/2/
Podobne pytania
Nowe pytania
php
PHP to szeroko stosowany, wysokopoziomowy, dynamiczny, zorientowany obiektowo i interpretowany język skryptowy przeznaczony głównie do tworzenia stron WWW po stronie serwera. Używane w przypadku pytań dotyczących języka PHP.