Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Screenshot vom Programmfenster
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 04.07.2007, 00:22    Titel: Screenshot vom Programmfenster Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 04.07.2007, 08:08    Titel: Antworten mit Zitat

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. lächeln

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 04.07.2007, 18:06    Titel: Antworten mit Zitat

Also mit meiner Version (0.15) klappt das nicht. Wozu ist eigentlich "vbcompat.bi" bzw. was ist das?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 04.07.2007, 18:07    Titel: Antworten mit Zitat

masterherpo hat Folgendes geschrieben:
Also mit meiner Version (0.15) klappt das nicht.


Da wird wohl mal ein Update faellig lächeln
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 04.07.2007, 18:15    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 04.07.2007, 18:18    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 04.07.2007, 19:00    Titel: Antworten mit Zitat

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. zwinkern
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 04.07.2007, 23:23    Titel: Antworten mit Zitat

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 zwinkern

Ich arbeite gerade ein eine Lösung mit Freeimage..
Das kann aber noch etwas dauern.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 05.07.2007, 13:10    Titel: Antworten mit Zitat

Und das geht auch erst ab 0.17 zwinkern
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 05.07.2007, 13:18    Titel: Antworten mit Zitat

ScreenInfo geht meines wissens schon seit 0.16
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 05.07.2007, 13:45    Titel: Antworten mit Zitat

Wirklich?
Auf jeden Fall geht's nicht mit 0.15.
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 05.07.2007, 15:31    Titel: Antworten mit Zitat

Kann mir mal jeman einen Link zu 0.15 geben??
Ich hab schon 0.18 aber scheint wohl zu viel neu zu sein
Kopf schütteln
Naja ich muss den Freeimagecode jawohl in 0.15 und in eine Sub coden...
Der wird dennoch 0.18 kompatibel sein zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 05.07.2007, 15:54    Titel: Antworten mit Zitat

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
Kopf schütteln
Naja ich muss den Freeimagecode jawohl in 0.15 und in eine Sub coden...
Der wird dennoch 0.18 kompatibel sein zwinkern

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 05.07.2007, 15:56    Titel: Antworten mit Zitat

www.freebasic.de

da gibt eh immer die ältesten compiler peinlich
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 05.07.2007, 15:58    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 05.07.2007, 16:22    Titel: Antworten mit Zitat

Resultat:
Mit
Code:

w=640
h=480
screenres w,h
sleep

klappts trotzdem zwinkern
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
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 05.07.2007, 16:28    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 05.07.2007, 16:45    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 05.07.2007, 17:02    Titel: Antworten mit Zitat

FreeImage kennt keine FB-Bildpuffer zwinkern
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 05.07.2007, 17:27    Titel: Antworten mit Zitat

Code ist fertig!
Guck nächste Seite zwinkern


Zuletzt bearbeitet von AndT am 05.07.2007, 21:49, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz