Einen Ausschnitt aus einem riesigen Bild machen

Alles rund um die Programmierung mit Qt
Antworten
taraquedo
Beiträge: 36
Registriert: 1. März 2007 13:07

Einen Ausschnitt aus einem riesigen Bild machen

Beitrag von taraquedo »

Hallo!

Ich stehe vor dem Problem, dass ich ein Koordinatensystem habe, welches sowohl bei keinem Zoom funktionieren soll als auch beim Heranfahren. Gitternetzlinien mit nur einem Pixel breite sollen auch bei keinem Zoom sichtbar bleiben.

Mein Koordinatensystem hat den Mittelpunkt 0,0. Ich benötige die Werte -1 bis 1. Daher setzte ich setWindow(-1*s, -1*s, 2*s, 2*s); s ist dabei die Hälfte einer Seite des Widgets. Also bei einem 400x400 Widget habe ich ebensoviele Pixel und kann meine loogischen Koordinaten bequem von -1*s bis +1*s ansprechen.

Jetzt brauche ich eine Lösung für den Zoom. Geht man näher ran sind die z.B. 400x400 Px zu grob. Mache ich diese von vorn herein größer, so erkennt man (z.B. Gitternetzlinien) nicht mehr, weil diese aus 1 px breite bestehen.

Sicher gibt es da eine elegante Lösung, die ich übersehen habe, oder? Oder muss ich doch die feinen Strukturen größer darstellen, wenn ich nicht zoome?

Grüße!
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Zeichne halt die Linien ohne Transformation. Die Positionen mußt du halt selbst berechnen...
taraquedo
Beiträge: 36
Registriert: 1. März 2007 13:07

Beitrag von taraquedo »

Na gut, dann mache ich es so. Ich dachte das Window/Viewport und Worldmatrix Verfahren könnte die Sache etwas vereinfachen, ist dann wohl aber doch nicht für diesen Zweck geschaffen worden.

Also setze ich jetzt das Window fest auf (-halbeBreite, -halbeHöhe, Breite, Höhe) und errechne mir alles andere.

Grüße und vielen Dank!
Antworten