Einstieg in VectorDrawing
Verfasst: 07.08.2021 15:38
Hallo,
ich benötige mal einen kurzen Schubs. Ich habe eine Canvas mit variabler Größe, auf der ich ein paar Rechtecke zeichne. Jene Rechtecke sind unterschiedlich groß, z.B. mal 100*100 Pixel und mal 20*40 Pixel (...und bis zu 10000); das Bild wird dabei immer so gezoomt, dass die Canvas vollständig ausgefüllt wird. Ich hab jetzt eine relativ komplizierte Funktion geschrieben, die die Maximalausdehnung berechnet und dann entsprechend alle Koordinaten verkleinert/vergrößert, damit die Rechtecke immer ins Bild passen. Die ist recht zeitaufwändig. Jetzt bin ich auf die Vector-Bibliothek gestoßen und die müsste das Ganze eigentlich sehr vereinfachen. Leider komme ich mit den Umwandlungen nicht ganz klar. Kann mir bitte jemand mal ein minimales Beispiel geben bei dem ein beliebiges Rechteck auf die Größe der Canvas skaliert wird? Daraus kann ich dann sicher den Rest selbst erarbeiten. Danke im Voraus.
2. Frage: So wie ich gesehen habe werden die Objekte erst angelegt und dann in einem Rutsch gezeichnet. Und irgendwie kann ich die Objekte auch erhalten, damit ich sie nachher erneut zeichnen kann, ohne dass ich alles neu anlegen muss. Von Zeit zu Zeit muss eins der Rechtecke statt schwarz in rot gezeichnet werden; dazu kann ich es einfach als letztes Objekt noch einmal anhängen (das Rechteck muss immer komplett zu sehen sein). Kann ich den Rest (also die normalen Rechtecke ohne das rote) vorher kopieren, damit ich es beim nächsten Mal wieder zur Hand habe?
ich benötige mal einen kurzen Schubs. Ich habe eine Canvas mit variabler Größe, auf der ich ein paar Rechtecke zeichne. Jene Rechtecke sind unterschiedlich groß, z.B. mal 100*100 Pixel und mal 20*40 Pixel (...und bis zu 10000); das Bild wird dabei immer so gezoomt, dass die Canvas vollständig ausgefüllt wird. Ich hab jetzt eine relativ komplizierte Funktion geschrieben, die die Maximalausdehnung berechnet und dann entsprechend alle Koordinaten verkleinert/vergrößert, damit die Rechtecke immer ins Bild passen. Die ist recht zeitaufwändig. Jetzt bin ich auf die Vector-Bibliothek gestoßen und die müsste das Ganze eigentlich sehr vereinfachen. Leider komme ich mit den Umwandlungen nicht ganz klar. Kann mir bitte jemand mal ein minimales Beispiel geben bei dem ein beliebiges Rechteck auf die Größe der Canvas skaliert wird? Daraus kann ich dann sicher den Rest selbst erarbeiten. Danke im Voraus.
2. Frage: So wie ich gesehen habe werden die Objekte erst angelegt und dann in einem Rutsch gezeichnet. Und irgendwie kann ich die Objekte auch erhalten, damit ich sie nachher erneut zeichnen kann, ohne dass ich alles neu anlegen muss. Von Zeit zu Zeit muss eins der Rechtecke statt schwarz in rot gezeichnet werden; dazu kann ich es einfach als letztes Objekt noch einmal anhängen (das Rechteck muss immer komplett zu sehen sein). Kann ich den Rest (also die normalen Rechtecke ohne das rote) vorher kopieren, damit ich es beim nächsten Mal wieder zur Hand habe?