Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Skalierbare "Bars" in SVG...wie zu realisieren?
BenFire
myCSharp.de - Member



Dabei seit:
Beiträge: 50

Themenstarter:

Skalierbare "Bars" in SVG...wie zu realisieren?

beantworten | zitieren | melden

Hallo Leute,

wie der Name des Themas schon sagt hab ich Probleme beim skalieren von Bars.
Kurz zur Sachlage:
Ich möchte die Inhalte aus meiner Datenbank grafisch darstellen.
Um das ganze auch visuell zu verdeutlichen wollte ich dies mithilfe von skalierbaren "Bars" machen.
Sprich wenn ich 100stück habe dann ist der "Bar" 1cm groß und bei 1000Stück 10cm.
Ich habe deshalb zunächst ersteinmal ein SVG - File erzeugt, welches die Grunddaten enthält....sprich die X-Y - Achsen der Grafik, da diese ja immer gezeichnet werden müssen...egal was ausgewertet wird.
Und nun möchte ich in das vorher erzeugte (ich nenne es jetzt mal) Standard-SVG File noch die Bars einfügen.
Kann mir jemand von euch einen Tip geben, wie man soetwas am elegantesten macht?
Es ist doch bestimmt nicht schick, wenn ich in meinem Programm den SVG - Code angebe und dann für width und heigth ein paar Parameter einfüge.
Ich habe von SVG bis jetzt noch nicht wirklich viel Ahnung, deswegen wäre es hilfreich für mich, wenn Ihr mir da ein paar Tips geben könnten, wie ihr soetwas realisieren würdet.
Vielen Dank.

Ben
private Nachricht | Beiträge des Benutzers
progger
myCSharp.de - Member

Avatar #avatar-2094.gif


Dabei seit:
Beiträge: 1334
Herkunft: Nähe von München

beantworten | zitieren | melden

Hallo BenFire,

Du musst uns mehr Infos geben: Mit was arbeitest du (außer SVG)? ASP.NET, PHP, JSP, ...? Also ich geh davon aus, dass es um eine Webanwendung geht. Oder lieg ich da falsch?
Ansonsten muss ich dir sagen, dass SVG eigentlich nicht allzu gut geeignet ist: Es gibt noch kaum wirklich gute Umsetzungen, vor allem bei den Browsern. Vielleicht solltest du nochmal überdenken, ob du das nicht anders angehst.

Ich hoffe, ich konnte dir helfen!

Gruß,
Thomas
A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.
private Nachricht | Beiträge des Benutzers
Borg
myCSharp.de - Member



Dabei seit:
Beiträge: 1548
Herkunft: Berlin, Germany

beantworten | zitieren | melden

Zitat
Es gibt noch kaum wirklich gute Umsetzungen, vor allem bei den Browsern.
Soweit ich weiß, kann nur der IE6 kein SVG. Wie es mit dem 7er aussieht, kann ich nicht sagen.
private Nachricht | Beiträge des Benutzers
progger
myCSharp.de - Member

Avatar #avatar-2094.gif


Dabei seit:
Beiträge: 1334
Herkunft: Nähe von München

beantworten | zitieren | melden

Zitat
Original von Borg
Soweit ich weiß, kann nur der IE6 kein SVG. Wie es mit dem 7er aussieht, kann ich nicht sagen.
Ich bin mir ziemlich sicher, dass auch in der 7er Version des Internet Explorers keine Unterstützung für SVG ist. Wenn überhaupt kommt dies erst in einer späteren Version. So viel ich weiß ist etwas für IE7.2 geplant. Ich muss dazu aber sagen, dass es auch schon für IE7 geplant war.
A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.
private Nachricht | Beiträge des Benutzers
BenFire
myCSharp.de - Member



Dabei seit:
Beiträge: 50

Themenstarter:

beantworten | zitieren | melden

Sorry, hatte ich vergessen zu erwähnen,...ich Programmiere mit C#
Und nein es soll keine Webanwendung werden.
Ich will mir wie gesagt nur den Inhalt meiner Datenbank (verschiedene Abfragen)
visualisieren lassen.
Das SVG - File kann ich ja ohne Probleme auch aus dem C# heraus öffnen lassen.
private Nachricht | Beiträge des Benutzers
progger
myCSharp.de - Member

Avatar #avatar-2094.gif


Dabei seit:
Beiträge: 1334
Herkunft: Nähe von München

beantworten | zitieren | melden

Hallo BenFire,

Wenn du sowieso eine C#-Anwendung hast, würde ich an deiner Stelle das visualisieren der Daten selbst mit GDI+ übernehmen. Das ist nicht recht viel komplizierter und du sparst dir damit einige Inkompatibilitäten bei der Darstellung von SVG (was zum Beispiel wenn beim Nutzer keine Anwendung zum Betrachten von SVG-Grafiken vorhanden ist? Mitliefern?). Schau dir vielleicht mal [Tutorial] Zeichnen in Windows-Programmen (Paint/OnPaint, PictureBox) an. Das könnte dir helfen.

Gruß,
Thomas
A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.
private Nachricht | Beiträge des Benutzers
BenFire
myCSharp.de - Member



Dabei seit:
Beiträge: 50

Themenstarter:

beantworten | zitieren | melden

Ich gehe aber davon aus, dass SVG fähigkeit unterstützt wird.
Deshalb versuch ich meine Frage noch einmal zu konkretisieren.
Erstelle ich jetzt für das Zeichnen der Bars eine extra Klasse?
Ggf möchte ich ja nicht nur einen sondern auch mehrere zeichnen.
Und wie übergebe ich dem folgenden Balken die Koordinaten des davor gezeichneten, damit dieser "weiß" , von der aus er erst zeichnen darf?
private Nachricht | Beiträge des Benutzers
progger
myCSharp.de - Member

Avatar #avatar-2094.gif


Dabei seit:
Beiträge: 1334
Herkunft: Nähe von München

beantworten | zitieren | melden

Hallo BenFire,

Wenn du es wirklich so machen willst: Am besten du fügst den SVG-Code einfach in deinem Programm zusammen. Das kannst du entweder mit einer Klasse machen, der du alle nötigen Informationen gibt und dir dann dein Diagramm bastelt (die geschicktere Variante) oder mit einer einfachen Methode. Die x-Koordinaten würde ich an deiner Stelle in einer Variable speichern und dann immer erhöhen wenn du zum nächsten Balken gehst. Den Rest müsstest du eigentlich selbst zusammenbringen.

Gruß,
Thomas
A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.
private Nachricht | Beiträge des Benutzers