Entwickler-Ecke
Multimedia / Grafik - Vektorgrafik im Programm-Code erzeugen
Nightfire - Mo 26.03.07 11:34
Titel: Vektorgrafik im Programm-Code erzeugen
Hallo zusammen,
ich bin wie so viele ein blutiger Anfänger. Habe vor kurzem mit C# begonnen. Habe allerdings schon vorkenntnisse in anderen Sprachen.
Ich muss nun eine Grafik im Programm-Code erzeugen, was auch nicht das Problem ist. Wenn ich allerdings anschließend die Grafik etwas vergrößern will wird sie schwer Pixelisch. Aus diesem Grund würde ich gerne eine Vektorgrafik erzeugen, weil mein Bild eh nur aus zusammengesetzten Linien besteht. Finde nur keine passende Möglichkeit.
Bis jetzt benutze ich Graphics und zeichne da rein und speichere es danach als bmp. BMP´s sind allerdings Pixelbilder und keine Vektorbilder. Hat jemand eine Idee, wie ich das lösen kann?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| using (MemoryStream mem = new MemoryStream()) { Bitmap bmp = new Bitmap(660, 122); using (Graphics gc = Graphics.FromImage(bmp)) {
gc.Clear(Color.White); Bild.zeichne(gc);
} bmp.Save(mem, ImageFormat. Png); byte[] buffer = mem.ToArray(); context.Response.OutputStream.Write(buffer, 0, buffer.Length); context.Response.ContentType = "image/bmp"; } |
Ich hoffe ich habe keine wichtigen Informationen vergessen.
Vielen Dank für Eure Hilfe.
Nightfire
UGrohne - Mo 26.03.07 15:35
Verwalte doch irgendwo die Daten der einzelnen Grafikobjekte, damit Du es neu zeichnen kannst. Du wendest Deine Vergrößerungen/Änderungen einfach auf alle Objekte an und zeichnest das Bitmap dann neu.
Du brauchst einfach nur eine geeignete Klassenstruktur, damit Du so wenig Arbeit nachher wie möglich damit hast.
Nightfire - Mo 26.03.07 16:58
Hmm, ja prinzipiell ist es eine gute Idee. Aber es handelt sich um eine Webanwendung und ich muss einen MouseOver Event implementieren, dass die Grafik hervor hebt.
Wenn ich nun die Grafik neu zeichnen lasse, macht er einen Roundtrip, sprich er fordert vom Server das neue Grafik-Objekt an. Da das bei einer höheren Last des Servers ggf. etwas dauern kann, möchte ich das Bild auf der Oberfläche später einfach größer skalieren. Deshalb würde ich gerne eine Vektor- und keine Pixelgrafik zeichnen.
Gruß Nightfire
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!