Ich mache benutzerdefinierte Zeichnung mit der GDI+.
Normalerweise, wenn ich das, was ich zeichne, in das Fenster einpassen will, berechne ich das entsprechende Verhältnis und transformiere alles mit ScaleTransform um dieses Verhältnis:
e.Graphics.ScaleTransform(ratio, ratio);
Das Problem mit ScaleTransform ist, dass es alles skaliert, einschließlich der Pinselstriche und Pinsel.
Wie skaliere ich alle Pixelkoordinaten des Gezeichneten? Jede Linie, jedes Rechteck oder jeder Pfad ist im Grunde eine Reihe von Punkten. Ich kann also alle diese Punkte manuell mit dem Verhältnis multiplizieren, aber gibt es eine einfache Alternative, um dies nahtlos zu tun?