Ich verwende qGraphicsView , um ein Bild zu skalieren/zu bewegen. Ich arbeite in diesem Code, der auf dieser Frage basiert. Es beschränkt das Bild daran .
Mit dieser neuen Klasse versuche ich, das Bild überall auf dem Ansichtsfenster zu verschieben, so lange ein bestimmter Bereich davon (_pixmaprect) ausgeht vollständig Aus den Ansichtsfenstergrenzen. : //i.imgur.com/z0lowpg.mp4
In der Skala 1.22 Ich bin in der Lage, es nur ein wenig um seinen ursprünglichen Bereich auf größeren Maßstäben zu bewegen. in der Lage, es überall zu bewegen, einschließlich des Verschiebens von Ansichtsfenster, das ich vermeiden möchte. >
Dies ist nicht, das Bild ist vollständig draußen. :
Ich habe versucht, ein sehr minimales Beispiel zu erstellen. Der Code ist nicht gut geschrieben, aber es ist verständlich: < /p>
Ich verwende [b] qGraphicsView [/b], um ein Bild zu skalieren/zu bewegen. Ich arbeite in diesem Code, der auf dieser Frage basiert. Es beschränkt das Bild daran . Mit dieser neuen Klasse versuche ich, das Bild überall auf dem Ansichtsfenster zu verschieben, so lange ein bestimmter Bereich davon (_pixmaprect) ausgeht [b] vollständig Aus den Ansichtsfenstergrenzen. : //i.imgur.com/z0lowpg.mp4 In der Skala 1.22 [/b] Ich bin in der Lage, es nur ein wenig um seinen ursprünglichen Bereich auf größeren Maßstäben zu bewegen. in der Lage, es überall zu bewegen, einschließlich des Verschiebens von Ansichtsfenster, das ich vermeiden möchte. > Dies ist nicht, das Bild ist vollständig draußen. :
Ich habe versucht, ein sehr minimales Beispiel zu erstellen. Der Code ist nicht gut geschrieben, aber es ist verständlich: < /p> [code]#include
void wheelEvent(QWheelEvent* event) override { // Store cursor position relative to scene QPointF mousePos = event->position(), mousePosCurrent = mapToScene(mousePos.x(), mousePos.y());
// Calculate zoom factor double factor = pow(1.5, event->angleDelta().y() / 240.0); double newScale = _currentScale * factor; if (newScale < 1.) { // Do not allow zooming out (in absolute) factor /= newScale; newScale = 1.; } else if (newScale > 50.) { // Do not allow zoom > 50x factor = factor * 50. / newScale; newScale = 50.; }
// Zoom centered on the mouse cursor QTransform t; t.translate(mousePosCurrent.x(), mousePosCurrent.y()); t.scale(factor, factor); t.translate(-mousePosCurrent.x(), -mousePosCurrent.y()); setTransform(t, true);
_currentScale = newScale; centerScene();
event->accept(); } };
class Widget : public QWidget { public: QPixmap _pixmap; Widget() : QWidget(nullptr) { QPixmap pixmap("image.png"); // image.png: https://i.imgur.com/BGZ1jdy.png QSize size = pixmap.size(); setFixedSize(size); QLabel* label = new QLabel(this); label->setFixedSize(size); label->setPixmap(pixmap); GraphicsView* view = new GraphicsView(this, pixmap); emit view->findChild()->valueChanged(0); } };
Ich verwende qGraphicsView , um ein Bild zu skalieren/zu bewegen. Ich arbeite in diesem Code, der auf dieser Frage basiert. Es beschränkt das Bild daran .
Mit dieser neuen Klasse versuche ich, das...
Wie zerstöre ich ein GameObject dauerhaft? Das heißt, ich möchte, dass das GameObject nur einmal vorhanden ist, wenn ich es in der aktuellen Szene zerstöre, und wenn ich dann dieselbe Szene neu lade,...
Ich möchte eine 3D -Rekonstruktion einer Szene machen. Dafür habe ich 2 Bilder der Szene aus zwei verschiedenen Blickwinkeln.
Gibt es eine Bibliothek, die das tut? (Ich arbeite in Python)
Wenn nicht,...
Ich bin auf ein Problem gestoßen, bei dem die Szene meines Spiels komplett schwarz erscheint, wenn es für Android erstellt wurde, obwohl die UI-Elemente vorhanden sind. Im Unity-Editor wird alles...