Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
masterherpo
Anmeldungsdatum: 22.01.2006 Beiträge: 102
|
Verfasst am: 04.07.2007, 00:22 Titel: Screenshot vom Programmfenster |
|
|
Also ich will ein Screenshot vom Programmfenster haben, das unter einem bestimmten Pfad gespeichert wird (exepath+"\screenshots\shot.bmp") -> zum beispiel. Außerdem sollen im Bildtitel Urzeit und Datum enthalten sein. Ich habe schon mal gesucht, und diesen Code (so ähnlich) gefunden.
Code: |
Dim ScreenShot As Any Ptr
ScreenShot = ImageCreate(640, 480)
Get (0, 0)-(639, 479), ScreenShot
Bsave date+"_Screenshot.bmp", ScreenShot
ImageDestroy ScreenShot
SLEEP
FSOUND_Close
END
|
Meine Probleme: Erstens kann ich bei Bsave keine Pfadangabe hinzufügen, 2. kann ich vor den Dateinnamen nur Datum oder Zeit schreiben, nicht Bsave time+date+"_Screenshot.bmp", ScreenShot
oder
Code: |
zeitangabe=time+date
Bsave zeitangabe+"_Screenshot.bmp", ScreenShot
|
klappt auch nicht. 3. Verwende ich FreeImage. Damit sollte ich den Screen doch auch als .jpg speichern können oder? Mit obrigem Code kann ich jedoch nur das bmp Format verwenden.
P.S.: ich verwende Screen 18 und die Variablen habe ich alle richtig definiert (am Anfang des Codes). |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 04.07.2007, 08:08 Titel: |
|
|
Hallo.
Probier einfach mal
Code: | #include "vbcompat.bi"
DIM i AS INTEGER
DIM filename AS STRING
RANDOMIZE TIMER
SCREEN 18
FOR i = 1 to 100
CIRCLE (RND*639,RND*479), 5, RND*255
NEXT i
PRINT "Leertaste druecken!"
SLEEP
filename = "Screenshot_"+Format(NOW,"ddmmyyyy_hhmmss")+".bmp"
BSAVE filename, 0
PRINT "Gespeichert als "; filename
SLEEP: END |
Der Quellcode ist ungetestet, sollte aber funktionieren.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
masterherpo
Anmeldungsdatum: 22.01.2006 Beiträge: 102
|
Verfasst am: 04.07.2007, 18:06 Titel: |
|
|
Also mit meiner Version (0.15) klappt das nicht. Wozu ist eigentlich "vbcompat.bi" bzw. was ist das? |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 04.07.2007, 18:07 Titel: |
|
|
masterherpo hat Folgendes geschrieben: | Also mit meiner Version (0.15) klappt das nicht. |
Da wird wohl mal ein Update faellig  _________________
 |
|
Nach oben |
|
 |
masterherpo
Anmeldungsdatum: 22.01.2006 Beiträge: 102
|
Verfasst am: 04.07.2007, 18:15 Titel: |
|
|
Ja, aber dann ist die hälfte meines Quellcodes im arsch weil bei FB ja vorteilhafter weise Features raus genommen wurden....daher kein Update!
(und ich hab schon sehr viel geschrieben) |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 04.07.2007, 18:18 Titel: |
|
|
zum einen bietet sich dafuer die funktion -lang des compilers an, zum anderen kannst Du deine alte Version von FB, fuer deine alten Programme auch noch sichern...
Ich hatte auch meine anfangsschwierigkeiten nach einem Update von 0.16 auf 0.17 aber da blickt man eigentlich realtiv schnell durch... _________________
 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 04.07.2007, 19:00 Titel: |
|
|
masterherpo hat Folgendes geschrieben: | Ja, aber dann ist die hälfte meines Quellcodes im arsch weil bei FB ja vorteilhafter weise Features raus genommen wurden....daher kein Update! |
Naja, also bei einer gleich um 3 Versionen veralteten FB-Version (mittlerweile ist 0.18 CVS aktuell!) wird das schwierig. Ich hab auch keine Lust, mir einen längst überholten Compiler bloß zum Rumprobieren für diese Angelegenheit wieder zu installieren. Features wurden übrigens nicht rausgenommen, sondern höchstens verbessert oder verändert. Von daher liegt's jetzt an dir, zu FB 0.18 CVS zu migrieren. Es ist nämlich auch vieles einfacher geworden.  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 04.07.2007, 23:23 Titel: |
|
|
mal ein kleiner tipp
die Auflösung lässt sich ganz simpel auslesen :
Code: | screen 18 ' auf Screen 18 schalten, darf nach beliben verändert werden..
dim as integer w,h ' w und h difinieren
screeninfo w,h ' Auflösung auslesen
print str(w)+"x"+str(h) ' Ausgabe auf dem Bildschirm |
so erspart man sich später irreführende Zeilen
Ich arbeite gerade ein eine Lösung mit Freeimage..
Das kann aber noch etwas dauern. |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 05.07.2007, 13:18 Titel: |
|
|
ScreenInfo geht meines wissens schon seit 0.16 _________________
 |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 05.07.2007, 15:31 Titel: |
|
|
Kann mir mal jeman einen Link zu 0.15 geben??
Ich hab schon 0.18 aber scheint wohl zu viel neu zu sein
Naja ich muss den Freeimagecode jawohl in 0.15 und in eine Sub coden...
Der wird dennoch 0.18 kompatibel sein  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 05.07.2007, 15:54 Titel: |
|
|
AndT hat Folgendes geschrieben: | Kann mir mal jeman einen Link zu 0.15 geben??
Ich hab schon 0.18 aber scheint wohl zu viel neu zu sein
Naja ich muss den Freeimagecode jawohl in 0.15 und in eine Sub coden...
Der wird dennoch 0.18 kompatibel sein  |
du kannst FB in den kompatiblitätsmodus versetzen, indem du -lang deprecated als compile-option verwendest. dann laufen auch veraltete sourcecodes. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 05.07.2007, 15:58 Titel: |
|
|
kannst du bitteschön mal aufhören, immer auf fb.de rumzuhacken? Ja, die seite ist zur zeit ein wenig veraltet, das ist aber KEIN grund, bei jeder gelegenheit darauf zu verweisen, wie "scheiße" die seite und wie "großartig" FBP ist. Außerdem arbeitet programmierer grad an FB.DE version 2... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 05.07.2007, 16:22 Titel: |
|
|
Resultat:
Mit
Code: |
w=640
h=480
screenres w,h
sleep
|
klappts trotzdem
Also so eingeschränkt ist 0.15 nun doch nich xD..
Eine Persönliche Notitz für mich xD..
Code: | Dim ScreenShot As Any Ptr
ScreenShot = ImageCreate(w, h)
Get (0, 0)-(w, h), ScreenShot
|
|
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 05.07.2007, 16:28 Titel: |
|
|
Deine Notiz hat einen haken...
Code: | Get (0, 0)-(w, h), ScreenShot |
sollte
Code: | Get (0, 0)-(w-1, h-1), ScreenShot |
sein ! _________________
 |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 05.07.2007, 16:45 Titel: |
|
|
Code: | w=640
h=480
screenres w,h
' Den Bildschirm mit irgendwas füllen
FOR X=1 to w
For Y= 1 to h
Farbe=INT(RND * 255)+1
Pset(X,Y),Farbe
NEXT
NEXT
' Den Bildschirm auslesen (Thx an Beispiel..)
Dim ScreenShot As Any Ptr
ScreenShot = ImageCreate(w, h)
Get (0, 0)-(w-1, h-1), ScreenShot ' hätt ich beinahe Falschgemacht xD..
' Und FreeImgage kommt jetzt ins Spiel:
#include "freeimage.bi"
ScreenShotX = FreeImage_Save(FIF_JPEG,ScreenShot,HEX$(TIMER)+".jpg") ' HEX$(TIMER) ist der Dateiname.
'Und Fertig ;) |
Freeimage.dll wird benötigt !
Aber das Problem:
Nix drinn in der Datei!
PS: Habs noch nicht mit 0.18 getestet.. |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 05.07.2007, 17:27 Titel: |
|
|
Code ist fertig!
Guck nächste Seite 
Zuletzt bearbeitet von AndT am 05.07.2007, 21:49, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
|