2017-01-28 2 views
1

Ich benutze Cefpython in PySide auf Python 2.7. Um fortgeschrittene 3d Übergänge zwischen divs zu erstellen, muss ich das div z. 20 Teile, die ich separat animieren kann. Ich habe keinen Weg gefunden, das "nativ" zu machen, also muss ich den Split simulieren, indem ich einen Screenshot eines bestimmten Elements im dom mache (ich könnte auch einen Screenshot des gesamten dom machen und das benötigte Element durch Koordinaten ausschneiden).cefpython Screenshot des aktuellen HTML (optional: spezifische Elemente)

Wie kann ich einen Screenshot eines bestimmten div in meinem DOM machen oder wie könnte ich einen Screenshot des gesamten sichtbaren Teils einer Webseite in cefpython und PySide machen?

JavaScript-Funktionen oft nur die HTML in ein Bild machen, aber ich brauche ein völlig echtes Bild, da der Benutzer nicht wissen sollte, dass die Animation aus einem Bild anstelle eines echten div erstellt wird.

Gibt es eine einfache Möglichkeit, ein Element (oder den gesamten derzeit sichtbaren Teil) einer Webseite mit cefpython und PySide (oder JavaScript und HTML) zu erfassen?

(Übrigens: Cefpython einbetten einen Chrom-Browser in pyside.)

+0

Haben Sie sich [diese Frage] (http://stackoverflow.com/questions/6887183/how-to-take-screenshot-of-a-div-with -javascript? rq = 1)? – Pointy

+0

Wow! Ich habe stundenlang im Internet gesucht und diese Lösung nicht gesehen ?! (Vielleicht falsche Keywords). Ich werde es ausprobieren. Vielen Dank. – fameman

+0

Sorry, aber das passt nicht zu meinem Problem. __Ich brauche eine komplett ähnliche Darstellung meiner Webseite im Bild - ich habe schon gesagt, dass Rendering nicht immer korrekt ist .__ – fameman

Antwort

1

Sie Inhalt des Fensters machen kann, der einen Browser in eine Bitmap einbettet. In pyqt/pyside können Sie QWidget zu QImage rendern. Für ein Beispiel google "qwidget to qimage": https://www.google.com/search?q=qwidget+to+qimage

+0

Wow. Einfach, schnell, genau. Vielen Dank! – fameman

Verwandte Themen