Bei Verwendung von Python und Pygame: Nach dem Laden des Bildschirms mit dem Hintergrundbild und dem Blitzen neuer Objekte (Text, Kreise, Rechtecke usw.) gibt es eine Möglichkeit, das Modifizierte zu speichern Bildschirm, um später im Programm abgerufen zu werden? Insbesondere setze ich den Hintergrund und blitze neue Objekte und möchte das Bildschirmbild mit allen Blits intakt speichern, damit es später im Programm als neuer Hintergrund verwendet werden kann, auf dem Sprites manipuliert werden können. Irgendwelche Vorschläge willkommen!geänderte Bildschirme in Python/Pygame zur späteren Verwendung speichern
Antwort
Das Blitzen funktioniert in beide Richtungen, dh Sie können etwas auf den Bildschirm blit- zen, aber Sie können den Bildschirm auch auf eine andere Oberfläche blit- zen. Erstellen Sie einfach eine neue Oberfläche mit der gleichen Größe Ihrer Anzeigeoberfläche und blittieren Sie den Bildschirm für die spätere Verwendung auf dieser Oberfläche.
fand eine Lösung und es funktioniert besser als ich erwartet hatte:
nach meinem rohen Hintergrund auf meine Oberfläche Blitted und dann das Hinzufügen zahlreicher Kreise, Rechtecke und Text ein Bild mit mehreren Wahl, Lehren und Etiketten ich lief zu machen folgende:
pygame.display.update()
window = pygame.display.set_mode((800,480),0,32)
pygame.image.save(TFT,"screen_update.jpg")
das neue Bild auf der Festplatte (XDcard auf meinem RPi2) gespeichert wird als „screen_update.jpg“ dann wechsle ich einfach den Namen in „ANAL_update.jpg“ und verwenden, die als Hintergrund für meine nächste Programmlauf. Ich habe den gesamten Code, der zum Erstellen der Rechtecke, Kreise und Beschriftungen verwendet wurde, auskommentiert und es funktioniert. Ich werde eine auswählbare "Aktualisierungs" -Routine zu dem Programm hinzufügen und alle zusätzlichen Zeichen und Beschriftungen zu dieser Routine verschieben, die verwendet werden soll, wenn ich das Layout des Hintergrunds ändern möchte. Ich mag die Tatsache, dass das Programm eine neue aktualisierte Datei erstellt, die nur für den Gebrauch und zum Kopieren des Hintergrunds auf andere Maschinen umbenannt werden muss. Hinweis: Dies funktioniert auf meinem RaspberryPi 2B mit HDMI - Ausgang zu einem 42 "HD - Fernseher für die Entwicklung, aber es soll auf einem RPi3B mit dem offiziellen RPi 7 Zoll TFT - Display laufen. Danke an alle, die geantwortet haben und an die andere, die einschlägige Code für vorherige Fragen ähnlich wie bei mir.