logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[PHP + JavaScript] Jak zastosować skrypt do dynamicznego kadrowania zdjęć?

malum 18 Lip 2012 22:43 3591 10
REKLAMA
  • #1 11120793
    malum
    Poziom 23  
    Posty: 882
    Pomógł: 1
    Ocena: 141
    Dotyczy tego tematu

    Może ktoś coś doradzić!
    Utknąłem dokładnie w tym samym miejscu co kbanach20.
    Od kilku godzin walczę z tym skryptem i nic.
    Postanowiłem więc sięgnąć po Waszą pomoc.
    Jest tutaj ktoś kto poradził sobie z zastosowaniem tego skryptu?
    Dokumentacja jest niby obszerna, ale nie ma nigdzie konkretnego i działającego przykładu do pobrania :-(

    Stronę autora można znaleźć TUTAJ

    Post wydzieliłem. [adamas_nt]
  • REKLAMA
  • #2 11120934
    kubatek94
    Poziom 17  
    Posty: 160
    Pomógł: 25
    W HTML:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    W JavaScript:
    Kod: Javascript
    Zaloguj się, aby zobaczyć kod


    W PHP (crop.php):
    Kod: PHP
    Zaloguj się, aby zobaczyć kod


    Oczywiscie musisz dolaczyc wszystkie jQuery, ten caly plugin no i klase simpleimage (do pobrania np z https://gist.github.com/908143). Zdjecie "jakiesfoto.jpg" zostalo przypisane na stale, mozesz to zmienic, zeby bylo dynamicznie.

    Pozdrawiam
  • #3 11121621
    malum
    Poziom 23  
    Posty: 882
    Pomógł: 1
    Ocena: 141
    Coś mi nie gra.
    Strona ożyła, ale tym razem nie przygotowuje zdjęć jak tego oczekuję.

    Pracowałem na takim zdjęciu (czerwona ramka wskazuje obszar zaznaczony na stronie, do którego zdjęcie miało zostać wykadrowane):
    [PHP + JavaScript] Jak zastosować skrypt do dynamicznego kadrowania zdjęć?

    Okazało się jednak, że skrypt wygenerował takie pliki:

    [PHP + JavaScript] Jak zastosować skrypt do dynamicznego kadrowania zdjęć?

    [PHP + JavaScript] Jak zastosować skrypt do dynamicznego kadrowania zdjęć?

    [PHP + JavaScript] Jak zastosować skrypt do dynamicznego kadrowania zdjęć?

    [PHP + JavaScript] Jak zastosować skrypt do dynamicznego kadrowania zdjęć?

    [PHP + JavaScript] Jak zastosować skrypt do dynamicznego kadrowania zdjęć?

    W ostatnim zdjęciu poprawnie zostały wskazane lewa i górna krawędź zdjęcia, czyli współrzędne x1 i y1, ale prawy dolny narożnik już niestety nie :-(

    Co jet nie tak?

    Poniżej cała strona w jednej paczce:
    Załączniki:
    • strona_testowa.zip (98.85 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #4 11122109
    arnoldziq
    VIP Zasłużony dla elektroda
    Posty: 5376
    Pomógł: 789
    Ocena: 299
    Ten skrypt jQuery nie dział tak jak powinien.
    Zauważ, co będzie jak zaznaczysz maleńki kawałek w lewym górnym rogu :
    Pokaże poprawnie x,y,h i w.
    Ale jeżeli zrobisz to samo w lewym górny, to wysokość wynikowa będzie "skopana".
    Masakra zaczyna się, jak "zjedziesz" niżej. Wymiary przekazywane przez ten skrypt, są kompletnie z kosmosu.
  • #5 11122166
    malum
    Poziom 23  
    Posty: 882
    Pomógł: 1
    Ocena: 141
    arnoldziq napisał:
    Ten skrypt jQuery nie dział tak jak powinien.
    Zauważ, co będzie jak zaznaczysz maleńki kawałek w lewym górnym rogu :
    Pokaże poprawnie x,y,h i w.
    Ale jeżeli zrobisz to samo w lewym górny, to wysokość wynikowa będzie "skopana".
    Masakra zaczyna się, jak "zjedziesz" niżej. Wymiary przekazywane przez ten skrypt, są kompletnie z kosmosu.


    Znasz może coś lepszego?
    Zależy mi na tym, żeby użytkownik podczas uploadu zdjęć na serwer musiał zaznaczyć obszar, który ma być przedstawiony jako miniaturka, koniecznie formatu 4:3.
    Ten skrypt pozwala (teoretycznie) na wykadrowanie zdjęcia w/g wskazania, zachowanie proporcji boków i zapisanie pliku pod nową nazwą, ale ... nie działa :(
  • REKLAMA
  • Pomocny post
    #6 11122215
    arnoldziq
    VIP Zasłużony dla elektroda
    Posty: 5376
    Pomógł: 789
    Ocena: 299
    Spróbuj odpalić załączony skrypt PHP (nie zapomnij o rozpakowaniu katalogu JS ).
    Musisz tylko pokombinować z tym 4:3.
    Załączniki:
    • jquery_upload_cropv1.2.zip (23.4 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #7 11122299
    malum
    Poziom 23  
    Posty: 882
    Pomógł: 1
    Ocena: 141
    arnoldziq napisał:
    Spróbuj odpalić załączony skrypt PHP (nie zapomnij o rozpakowaniu katalogu JS ).
    Musisz tylko pokombinować z tym 4:3.


    REWELACJA, o to właśnie chodziło - wielkie dzięki!
  • #8 11122450
    kubatek94
    Poziom 17  
    Posty: 160
    Pomógł: 25
    Witam!

    W poprzednim poscie zrobilem blad - zamiast wysylac x1, y1, x2, y2 - trzeba wyslac x1, y1, w, h :) Czyli lewy gorny rog + szerokosc i wysokosc. Pozatym poprawilem Twoj skrypt "simpleImage.php", bo wykonywal sie on, a nie to co w pliku crop.php :P

    Teraz wszystko dziala - nie zauwazylem problemow o ktorych mowi kolega arnoldziq. Zalaczam Twoja poprawiona paczke.



    Pozdrawiam :)
    Załączniki:
    • strona_testowa.zip (99.49 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #9 11122631
    malum
    Poziom 23  
    Posty: 882
    Pomógł: 1
    Ocena: 141
    kubatek94 napisał:
    Witam!

    W poprzednim poscie zrobilem blad - zamiast wysylac x1, y1, x2, y2 - trzeba wyslac x1, y1, w, h :) Czyli lewy gorny rog + szerokosc i wysokosc. Pozatym poprawilem Twoj skrypt "simpleImage.php", bo wykonywal sie on, a nie to co w pliku crop.php :P

    Teraz wszystko dziala - nie zauwazylem problemow o ktorych mowi kolega arnoldziq. Zalaczam Twoja poprawiona paczke.



    Pozdrawiam :)


    Teraz działa :-)
    Podpowiedz jeszcze jak narzucić proporcje zdjęcia. Próbowałem coś takiego, ale skrypt przestaje działać:
    Kod: Javascript
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #10 11122672
    kubatek94
    Poziom 17  
    Posty: 160
    Pomógł: 25
    Masz blad - po "handles: true" powinien byc przecinek :)
  • #11 11123945
    malum
    Poziom 23  
    Posty: 882
    Pomógł: 1
    Ocena: 141
    kubatek94 napisał:
    Masz blad - po "handles: true" powinien byc przecinek :)


    Teraz działa - również wielkie dzięki!

    Dodano po 1 [godziny] 21 [minuty]:

    arnoldziq napisał:
    Spróbuj odpalić załączony skrypt PHP (nie zapomnij o rozpakowaniu katalogu JS ).
    Musisz tylko pokombinować z tym 4:3.


    Mam piewien problem z tym skryptem.
    Teoretycznie wszystko działa, zdjęcie jest pomniejszane i tworzona jest miniaturka, czyli w 100% zgodnie z moimi potrzebami. Okazało się jednak, że po trzykrotnym uploadzie zdjęcia pojawił się komunikat:

    Fatal error: Allowed memory size of 57671680 bytes exhausted (tried to allocate 15188 bytes) in /virtual/www........./galeria/test/index.php on line 68

    Co się dzieje?

Podsumowanie tematu

✨ Użytkownicy dyskutują o problemach związanych z implementacją skryptu do dynamicznego kadrowania zdjęć przy użyciu PHP i JavaScript. Główne trudności dotyczą błędnych współrzędnych generowanych przez skrypt oraz problemów z proporcjami kadrowania. Użytkownicy dzielą się fragmentami kodu HTML, JavaScript oraz PHP, wskazując na konieczność poprawienia przekazywanych wartości (x1, y1, w, h) oraz dodania obsługi proporcji 4:3. Po kilku poprawkach skrypt zaczyna działać, jednak pojawiają się nowe problemy, takie jak przekroczenie dozwolonego rozmiaru pamięci podczas wielokrotnego uploadu zdjęć.
Wygenerowane przez model językowy.
REKLAMA