2011-09-04 10 views
5

chcę pozwolić odwiedzającym przeskalować obraz, używając kliknij i przeciągnij:Jak dodać "kliknij i przeciągnij", aby przeskalować obraz w SVG?

<html> 
    <body> 
     <svg> 
      <image> 

Czy istnieje biblioteka JavaScript, która może mi pomóc?

zauważam Raphael has click and drag metod, ale będę jeszcze pisać dużo JS:

  1. znaleźć narożniki obrazu
  2. Dodać obszar w pobliżu narożników wybierane
  3. Rysuj ikony dla rogi więc to oczywiste, że są selekcyjny
  4. dodaj kliknij, przeciągnij i upuść na rogach
  5. zaktualizować wymiary obrazu

Mogłem to wszystko zrobić, ale brzmi to czasochłonne. Czy powinienem użyć skryptu o otwartym kodzie źródłowym? Inne sugestie?

Odpowiedz

5

Znalazłem to rozwiązanie pod tym wpisem: Draggables and Resizables in SVG.

W odpowiedzi można znaleźć łącze jsfiddle: http://jsfiddle.net/tmkfs/. Możesz zmienić rozmiar okna, klikając i przeciągając róg okna. Mam nadzieję, że ten kod może ci pomóc.

+0

Znalazłem również ten https://github.com/cjheath/Raphaelle. Skrypt umożliwiający zmianę rozmiaru poprzez klikanie i przeciąganie obiektów. – cabreracanal

1

Nie to, co wiem. Muszę zrobić to samo i jestem zaskoczony, że nie znalazłem jeszcze wtyczki ani nawet przykładu, jak to zrobić z Rahpeal.js. Ponieważ wydaje się, że wiele osób chciałoby zrobić z SVG lub Rapheal.js, jestem zaskoczony, że nie ma wbudowanego sposobu, aby to zrobić (pomyślałbym, że skala + przeciągnięcie wystarczyłoby, ale to nie było tak proste, jak mogłoby się wydawać).

Potrzebuję tej funkcjonalności, więc sam ją buduję. Wpadłem na mały szkopuł (udokumentowany tutaj: Raphael.js drag with scale causes weird jumping behavior), ale właśnie to działało. Kiedy skończę, mogę opublikować moje rozwiązanie w jsfiddle lub na github, kiedy skończę, jeśli chcesz.

+0

Dobrze wiedzieć. Tak, podziel się z tobą rozwiązaniem, gdy skończysz. – ram1

1

Powinieneś rzucić okiem na SvgKit Zapewnia on ładną bibliotekę do manipulowania - generuj svg, w tym obsługę zdarzeń za pomocą javascript.

z oficjalnej dokumentacji:

Dodatki do obiektu SVGKit do obsługi zdarzeń. W SVG trudno jest uzyskać , aby uzyskać współrzędne myszy do lokalnych współrzędnych. SVGEvent ma procedury pozwalające włączyć elementy przeciągalne, elementy obrotowe oraz zapobiegać przesuwaniu i powiększaniu elementów.

Prezentacje wydarzeń is here.

Powiązane problemy