Screenshot direkt über Memory senden

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Screenshot direkt über Memory senden

Beitrag von STARGÅTE »

Moxl hat geschrieben:hm achso... ma so ne nebenfrage.. warum macht man eigentlich imagewidth*imageheight*4? also warum mal 4? hab das nur aus nem forum kopiert deswegen frag ich..
Bitte jetzt nicht falsch verstehen, aber wegen genau sowas "nur aus dem Forum kopiert" entstehen solche Probleme.
Es ist nicht schlimm, wenn man Codes von anderen nutzt, deswegen werden sie ja hier veröffentlicht, aber du solltest sie vorher nachvollziehen.
Allerdings muss ich dazu sagen, dass einige Codes hier (von mir eingeschlossen) leider zu wenig Kommentare haben.
Denn an genau solch einer Stelle würde ein Kommentar wie: Breite*Höhe * Farbtife (32 Bit, 4Byte) nicht schaden.

Wenn du bereits die neue Version 5.10 nutzt, kannst du auch die neue Funktion EncodeImage() verwenden:
Dann kannst du die Rückgabe von MakeDesktopScreenshot() für Image in EncodeImage() verwenden und einen passenden Encoder wählen. Zurück bekommst du eine Speicheradresse (Pointer) den du dann (zusammen mit der Länge die du über MemorySize() bekommst) verschicken kannst.
Das verschickte kannst du dann gleich in eine Datei schreiben und fertig, weil das Codieren schon vorher gemacht wurde.
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
Antworten