Bilschirmausgabe von PB-Programm Frame-by-Frame speichern

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Bilschirmausgabe von PB-Programm Frame-by-Frame speichern

Beitrag von Delle »

Hallo,

gibt es eine Möglichkeit die Bildschirmausgabe eines PB-Programmes Frame-by-Frame z.B. als .bmp zu speichern?

Ich meine jetzt keinen Screengrabber oder sowas sondern das man intern jeden Frame anzeigen und dann abspeichern lässt.

Hab ein kleines "Video" zu einem Musikjingle programmiert und das muss natürlich synchron vorhanden sein...

Danke,
Delle
PB 6.21 | Win 11
Christian+
Beiträge: 213
Registriert: 13.07.2008 10:05
Computerausstattung: Windows 8.1 Pro
AMD Phenom II X4 955 @ 3.2 GHz
4GB RAM
NVIDIA GeForce GTX 660

Re: Bilschirmausgabe von PB-Programm Frame-by-Frame speicher

Beitrag von Christian+ »

Meinst du so was wie du mit GrabSprite() und SaveSprite() umsetzen kannst?
Windows 8.1 Pro 64Bit | AMD Phenom II X4 955 @ 3.2 GHz | 4GB RAM | NVIDIA GeForce GTX 660
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Bilschirmausgabe von PB-Programm Frame-by-Frame speicher

Beitrag von STARGÅTE »

Frame-by-Frame z.B. als .bmp zu speichern
Mal angenommen: Auflösung: 1024x768 mit 60FPS ... dann wäre das in einer Sekunde 188 MB
Der Ansatz ist also schon mal völlig falsch.

Wenn du wirklich dein "Video" mitscheiden willst, dann machst du das besser von außen mit zB Screen Capturer.

Die synchronisation übernimmt dabei natürlich das Programm von Purebasic, indem das "Video" zeitkritisch programmit wurde/wird und du den sound von PB starten lässt.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
dige
Beiträge: 1239
Registriert: 08.09.2004 08:53

Re: Bilschirmausgabe von PB-Programm Frame-by-Frame speicher

Beitrag von dige »

Wenn Du Dein Demo statt auf den Screen als Video rendern willst, musst Du komplett das
Timing ändern. Also die statt 60 FPS musst Du überlegen wie Du die Abläufe, die einer Sekunde
entsprechen, auf 25 Bilder verteilst.
Das Speichern ist kein Problem. Entweder mittels GrabSprite () oder über den Drawingbuffer()
bzw. am besten einfach alles in ein Bild rendern ...
"Papa, ich laufe schneller - dann ist es nicht so weit."
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Re: Bilschirmausgabe von PB-Programm Frame-by-Frame speicher

Beitrag von Vermilion »

Um es platzsparender zu machen könntest du auch ein komprimiertes Format nehmen. Ich würde das Portable Network Graphics Format dafür nehmen, es ist komprimiert und dennoch verlustfrei. Es beansprucht mehr Rechenzeit dies abzuspeichern aber dafür brauchst du nicht so viel Speicherplatz.

Zusammenfügen musst du die Bilder dann mit einem anderen Programm, es geht sogar mit PureBasic und irgendeiner Bibliothek, die mir gerade nicht einfällt.

@Stargate: Im Profi-Video Bereich ist das eigentlich normal mit gigantischen Daten zu hantieren. Unkomprimierte Rohdaten sind auch in der Musikindustrie der Ausgangspunkt für jede weitere Verarbeitung.
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Antworten