QString zu double konvertieren

Du bist neu in der Welt von C++? Dann schau hier herein!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Also dein Viewport ist 200 Pixel breit, deine Daten sind von 650 - 750. 650 soll also 0 und 750 200 sein. Y lass ich jetzt einfach mal weg.

Code: Alles auswählen

QTransForm tf;
tf.translate(-650, 0);
tf.scale((750-650)/200);
Jetzt müsste QPointF QTransform::map ( const QPointF & p ) const die X-Werte von Deinem 650-750er Wertebereich in 0...200 umwandeln.
Diese Matrix kann man auch direkt den QPainter geben. Da muss man dann aber aufpassen da dann auch alle Werte geändert werden - z.B. Linienbreite usw. Deshalb ist es besser alles durch eine der QTransform::map() - Routinen zu jagen.
Aber das ganze mit Kommazahlen hat imho nicht viel sinn - man sieht nicht ob der Viewport jetzt bei 650.0 oder 650.1 anfängt - da bleibt eben 0.1 'leer', aber es sieht ja keiner...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten