Screenshot von Windows

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

SebastianB

Betreff: Screenshot von Windows

BeitragMo, Feb 14, 2005 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

mein Problem ist das folgende:
Wie kann ich (möglichst in Echtzeit) an das gerade angezeigte Monitorbild herankommen? Ich meine nicht das, was von Blitz3D gezeichnet wurde.

Bei der Suche im Forum habe ich folgendes gefunden:
https://www.blitzforum.de/viewtopic.php?t=349

Leider ist diese Methode nicht schnell genug.

Weiß da vielleicht jemand Rat?

MfG
SebastianB
Never change a running system

Artemis

BeitragMo, Feb 14, 2005 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
ScreenshotProgramm
 

SebastianB

BeitragMo, Feb 14, 2005 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Nichts für ungut, aber ich möchte das ganze von Blitz3D aus machen. Ein Screenshotprogramm bringt mir da herzlich wenig.

MfG
SebastianB
Never change a running system

Artemis

BeitragMo, Feb 14, 2005 17:48
Antworten mit Zitat
Benutzer-Profile anzeigen
vielleciht in einer DLL hab aber im Moment was besseres zu tun als mich auf die suche zu machen! sorry Embarassed Embarassed
 

fliege

BeitragMo, Feb 14, 2005 18:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaub das funktioniert mit SaveBuffer FrontBuffer(), "C:\xyz.bmp"
Hoffe, das ist das was du suchst...Du müsstest es allerdings nach Flip aufrufen und "C.\xyz.bmp" in den Dateinamen mit der Endung ".bmp" speichern....

Fliege
Wer weiß was kommt.. ?

Artemis

BeitragMo, Feb 14, 2005 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Nix da er will ja den Ganzen Desktop und nicht nur das was man bei blitz im grafikfenster sieht!!!
 

fliege

BeitragMo, Feb 14, 2005 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
achso Rolling Eyes ... hab' vorher nicht ganz gescheit gelesen Razz
Vielleicht hilft das...musst aber die Breite und die Höhe des Screens angeben:

Pfad$ = "abc.bmp"
image = createimage(1024,768)
setbuffer imagebuffer(image)
for y= 0 to 768
for x = 0 to 1024
writepixel x,y,readpixel(x,y)
next
next
saveimage image, Pfad$

... Ist aber auch nicht unbedingt das schnellste Wink
Fliege
Wer weiß was kommt.. ?

Artemis

BeitragMo, Feb 14, 2005 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
die befehle lesen die grafikpunkte nur im Blitz Fenster aus!!
 

David

BeitragMo, Feb 14, 2005 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

@fliege:
Ne das ist noch gemeiner wie:

Code: [AUSKLAPPEN]

SaveToImage( BackBuffer(), "image.bmp" );


Edit:
GetDesktopWindow();
GetWindowDC();
GetWindowRect();
BitBlt();
ReleaseDC();

Das ist alles was du für einen Screenshot brauchst. Musst nur schauen ob du's unter Blitz auch nutzen kannst! Wink

grüße
 

noir

BeitragMo, Feb 14, 2005 19:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab mal schnell eine mini dll dafür erstellt.

funktion:
Screenshot(int width, int height, $dateiname)

download (userlib+dll)

ich habe keine bb3d, kann also keine userlibs verwenden.. also konnte ich auch nicht testen ob es funktioniert. kanns jmd. mal schnell testen? Wink

hab keine ahnung ob es das schon gibt, aber sebastian sucht ja nach einer "schnellen" methode. so geht es denke ich am einfachsten. musst dann halt die datei mit loadimage laden.

wenn du das bild direkt nach bb haben willst.. kann ich es auch machen.. is halt mehr arbeit Very Happy . oder wenn jmd. eine dll für bb2d haben will
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
  • Zuletzt bearbeitet von noir am So, März 06, 2005 12:38, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragMo, Feb 14, 2005 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Schon allein die Zeit die benötigt wird um den Screenshot auf Platte zu bannen dürfte eine Echtzeitanwendung unmöglich machen. Mit Glück kannst du einen halbwegs flüssigen Film erstellen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

noir

BeitragMo, Feb 14, 2005 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
was? er will einen film damit erstellen? ich dachte er sucht nur eine einigermaßen schnelle screenshot funktion für den desktop.

naja habs mal getestet, die funktion mach in 6sek 100bilder. also mit ca. 16 bilder pro sekunde kann man es schon einen "film" nennen. (kommt natürlich auf den rechner an)

kann trotzdem mal jemand testen...wenn ich es jetzt schon gemacht habe..
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
  • Zuletzt bearbeitet von noir am So, März 06, 2005 12:38, insgesamt einmal bearbeitet
 

noir

BeitragMo, Feb 14, 2005 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, es wurde von jmd. getestet, es geht Very Happy
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
  • Zuletzt bearbeitet von noir am So, März 06, 2005 12:38, insgesamt einmal bearbeitet

tyty

BeitragDi, Feb 15, 2005 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
ich würd für screenshots aber nie .bmp verwenden wie groß die 1024x768 bilder da werden, also .jpg oder .png verwenden, spart platz
User posted image

Kaikille suomea puhuville ihmisille: tyty = tyty the technical youngster!!!
 

noir

BeitragDi, Feb 15, 2005 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
schon klar... aber ich hab keine lust gehabt erst eine jpg komprimierungs funktion oder ähnliches für c++ zu suchen.
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group