QGraphicsView Skalieren, Rotieren, Verschieben
Verfasst: 23. Mai 2012 11:29
Hallo zusammen,
ich habe ein QGraphicsView, dass mir ein geladenes Bild darstellt und möchte gerne mittels QVerticalSlider die im Titel beschriebenen Funktionen realisieren. Es gibt 4 Slider (Skalieren,Rotieren,TranslationX und TranslationY). Momentan mache ich es so, dass ich die Transformationsmatrix des QGraphicsViews neu setze, wenn ein Slider seinen Wert verändert.
Das Funktioniert auch soweit ganz gut, allerdings hat das Bild diverse "Zuckungen" währen man die Slider bewegt. Wenn ich allerdings das Bild mittels Drag&Drop Funktion bewege ist die Bewegung flüssig. Das heißt ja es muss auch anders gehen.
Kann mir jemand erklären, wie man die Bilder gescheit transformiert? Oder transformiert man nur den Viewport oder ähnliches ??
Grüße und besten Dank
ich habe ein QGraphicsView, dass mir ein geladenes Bild darstellt und möchte gerne mittels QVerticalSlider die im Titel beschriebenen Funktionen realisieren. Es gibt 4 Slider (Skalieren,Rotieren,TranslationX und TranslationY). Momentan mache ich es so, dass ich die Transformationsmatrix des QGraphicsViews neu setze, wenn ein Slider seinen Wert verändert.
Code: Alles auswählen
QTransformation transformation;
transformation.scale(1+scaleSliderValue, 1+scaleSliderValue);
transformation.rotate(rotateSliderValue);
transformation.translate(translateXsliderValue,translateYsliderValue);
ui->graphicsView->setTransformation(transformation);
Kann mir jemand erklären, wie man die Bilder gescheit transformiert? Oder transformiert man nur den Viewport oder ähnliches ??
Grüße und besten Dank