5 Stimmen

Alternative zu Graphics.ScaleTransform

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?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X