2012-03-30 7 views
1

Ich habe eine SVG-Datei.Diese Datei zeigt die Umrisse von Comicfiguren (2D-Zeichen). Meine Frage ist, kann ich ein Programm erstellen, das es dem Benutzer ermöglicht, mit dem Umriss zu interagieren und ihn zu verformen. Ein Beispiel ist, mit der Maus den Umriss des Arms des Charakters zu ziehen, und der Arm wird größer.Verformung der SVG-Datei. Bezier Kurven?

Ich nehme an, dass Bezier Kurven und elliptische Bögen eine Lösung ist. Ich frage mich auch, wenn ich OPENGL verwende, könnte ich flexibler sein, das zu tun.

+0

Leider wird dies wahrscheinlich so wie es ist geschlossen. Im Moment ist die Antwort auf all das etwas wie "Ja, das könntest du tun", aber zumindest mit dem, was du uns erzählt hast, ist es schwer mehr zu sagen. –

+0

Vielen Dank für Ihre Antwort Jerry, ich schätze es. – Faidra

+0

Gern geschehen, für was es sich gelohnt hat. Was ich wirklich herausgefunden habe, ist, ob du es umschreiben kannst, um genauere Antworten zu erhalten. Wolltest du zum Beispiel wissen * wie * solche Dinge zu tun? Was hast du bisher gemacht - hast du zum Beispiel Code, um die SVG-Datei unverändert zu rendern? Es würde wahrscheinlich auch helfen zu wissen, welche Plattform und/oder Bibliotheken Sie verwenden/planen zu verwenden. –

Antwort

1

Der Interaktionsaspekt, mit dem Sie sich beschäftigen müssen. Es gibt eine aktuelle OpenGL-Erweiterung, NV_path_rendering, die das genaue, hardwarebeschleunigte Rendern von SVG und anderen Vektorformaten ziemlich einfach macht. Das SDK enthält mindestens ein Beispiel, in dem die Interaktion mit Kontrollpunkten angezeigt wird, was einen guten Ausgangspunkt für Sie darstellen könnte. Offensichtlich würde dies erfordern, dass Sie/der Endbenutzer eine GPU haben, die die Erweiterung unterstützt. Here's a video des Entwicklers erklärt die Erweiterung und was es tun kann.

+0

Justin du machst mir einfach das Leben leichter !! Vielen Dank. – Faidra

0

Ich frage mich auch, wenn ich OPENGL verwende, könnte ich flexibler sein, das zu tun.

OpenGL wird die Dinge in keiner Weise erleichtern. OpenGL ist eine Zeichen-API, keine Art von magischer Szene und Geometrie-Manager. Es gibt nur Punkte, Linien und Dreiecke und Methoden, um festzulegen, wie diese zu einem Framebuffer gezeichnet werden sollen.

Interaktion mit dem Benutzer liegt vollständig außerhalb des Umfangs von OpenGL.

+0

Ich verstehe absolut, was Sie meinen.Bevorzugung ist, dass ich mit Java komfortabler bin. Also die einzige Möglichkeit, OpenGL zu verwenden, denke ich ist JOGL. Ist JOGL so gut, als ob ich OpenGL mit C++ benutzt hätte? – Faidra

0

iscriptdesign können Sie interaktive Grafiken erstellen, aber Sie müssen diese selbst programmieren/skripten.