Unabhängige Elemente skalieren

Ich habe eine (2D-) Geometriebibliothek, an der ich arbeite, und ich möchte Bilder ausspucken können, um beim Debuggen zu helfen. Die von mir gewünschten Grundelemente sind Punkte, Liniensegmente und Text. Ich weiß jedoch nicht genau, welchen Maßstab ich betrachten möchte (vielleicht funktioniert nur ein kleiner Teil des Polygons nicht richtig), daher muss ich auch in der Lage sein, das Bild zu zoomen und zu schwenken.

Ich habe mich angeschlossenSVGPan zum Schwenken und Zoomen meiner generierten Bilder, wenn ich sie in Chrome ansehe, aber (verständlicherweise) alle Grundelemente werden mit dem Zoom skaliert, da SVGPan nur mithilfe einer Skalierungstransformation funktioniert. Das Heranzoomen hilft also nicht, herauszufinden, was in sehr kleinen Feature-Regionen vor sich geht.

ich fand dieVektor-Effekt Eigenschaft, die die Liniensegmente recht gut behebt, indem ich eine Breite in Pixeln angeben kann. Aber es hilft mir nicht, den Text zu verwalten. Idealerweise sind es 12 Punkte, egal wie groß die Transformationsskala ist.

Und ich bin auch immer noch ratlos, was das Zeichnen von Punkten angeht. Ich dachte, ich könnte Kreise verwenden, aber der Radius skaliert auch. Wenn Sie also zu weit hineinzoomen, sieht es einfach aus wie ein paar Kreise anstelle von Punkten. Wenn ich die Eigenschaft "Vektoreffekt" verwende, wird die Strichbreite des Kreises nicht mehr skaliert, der Radius des Kreises jedoch weiterhin. Ich erhalte also große Kreise mit dünnen Konturen anstelle eines kleinen Kreises mit einem oder zwei Pixel Radius.

Gibt es eine Möglichkeit, Positionen nur für Elemente zu skalieren? Ich möchte wirklich immer, dass die Linien, Punkte und der Text unabhängig vom Maßstab dieselbe Größe haben und nur ihre Positionen skalieren. Meine SVG-Dateien sind alle maschinengeneriert und dienen ausschließlich der Codierung. Es macht mir also nichts aus, wenn jemand irgendwelche Ideen hat. Oder wenn es anstelle von SVG eine andere Technologie gibt, die für diesen Anwendungsfall sinnvoller wäre.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage