Siema,
Czy miał ktoś z was bliższy kontakt z wxWidgets? Mam napisać program który pobiera od użytkownika plik .svg i użytkownik może go sobie skalować, obracać itp. Nie mam pojęcia jak się za to zabrać. Proszę, dajcie jakieś wskazówki.
Dzięki.
Wiesz w ogóle jak wyglądają pliki SVG? Zaczął bym od tego. :) Zdaje się, że Inkscape jest otwarty na GPL, możesz sobie źródła podejrzeć tutaj: http://inkscape.org/download/?lang=en
Wychodzi na to, że będziesz rysował svg na jakiejś powierzchni, to po pierwsze. Na razie nie przejmowałbym się za bardzo resztą. ;) Rozrysuj sobie plan ogólny, podzielony na części w których implementował będziesz kolejne funkcjonalności. Zacznij raczej skromnie, a może coś z tego wyjdzie.
Wybacz, ale na tak mało precyzyjne pytanie nie mogę odpowiedzieć kodem źródłowym. ;) Chyba że:
while (!project.ready()) { project.implement_next_feature(); project.test(); } project.ship();
Masz rację, nie napisałem konkretnie o co mi chodzi.
Mam napisać program w którym użytkownik mógłby sobie edytować plik SVG. Wybierał by sobie plik(i), pojawiałaby się miniaturka(i) na pasku bocznym programu, a on w oknie głównym mógłby sobie nim kręcić do woli, skalować, kolorować itp. Wiem jak wygląda plik SVG bo poprzednim projektem który pisałem był program tworzący plik SVG z danych podanych przez użytkownika(ale to było pisane w czystym C++, a program był w konsoli).
Przykładowy plik SVG którego bym używał w programie:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200" height="200" x="0" y="0"><rect x="66" y="37" width="50" height="125" fill="red" stroke="green" stroke-width="3"/>
<polyline fill="red" stroke="green" stroke-width="3" points="116,162 166,187 166,12 116,37"/>
<line x1="0" y1="75" x2="66" y2="75" stroke="green" stroke-width="3"/>
<line x1="0" y1="125" x2="66" y2="125" stroke="green" stroke-width="3"/>
</svg>
Coś mi się wydaje, że nie zdążę tego zrobić, bo mam to oddać we wtorek, a zielony jestem jak widać z tego. Nie dałem rady się wziąć za to wcześniej. Czytam sobie jakieś tutoriale na na necie, ale nie wiele mi dały bo nie znalazłem nic o operowaniu taką grafiką. Bardzo was proszę o pomoc. Dzięki
Aha, zapomniałem dopisać, że jeszcze miło by było gdyby też tworzył nowy kod .svg(już po edycji przez użytkownika).
Udało mi się zrobić tylko jakiś tam layout. Możecie mi podpowiedzieć jak zaimportować plik w XML do programu w wxWidgets, a potem edytować jego dane? Czy biblioteka wxXmlDocument się do tego nadaje, a jeśli tak to jak jej używać? :P
wxXmlDocument nie używałem, ale jakaś dokumentacja w sieci chyba jest, hm? Podejrzewam, że udostępni Ci w jakiś sposób DOM, a jak z niego skorzystać, to chyba tłumaczyć nie trzeba. Mając dane z svg będziesz mógł je przetworzyć i narysować.
No właśnie przydałoby się wytłumaczyć :P Co to jest DOM(znam tylko jedną definicję tego słowa;)?
W dzisiejszych czasach, żeby się czegoś dowiedzieć wystarczy korzystać z dwóch rzeczy: podstaw języka angielskiego i Google. ;)
Nie żeby wszystko dało się tak znaleźć, ale naprawdę sporo rzeczywiście się da.
Wklepujesz "DOM" w Google, dostajesz parę linków o sprzedaży domów i takie tam, a pod koniec pierwszej strony z wynikami będzie coś co wygląda bardziej obiecująco... http://en.wikipedia.org/wiki/Document_Object_Model