View Full Version : [C o C++] Screenshot
xsatellitex
07-12-2007, 20:16
Ragazzi qualcuno puo' dirmi come posso fare per salvare uno screenshot in un file e poi stamparlo a video??
che librerie devo usare??? e come faccio a sapere le librerie che devo usare ogni volta che mi viene in mente di creare qualcosa in linguaccio C??
aiutatemi please :mc:
per la seconda domanda l'unica risposta è: cultura. devi avere un'idea del quadro generale dei vari strumenti software che esistono al mondo.
per quanto riguarda la prima domanda invece (prendere uno screenshot), ciò che non va nella richiesta è il fatto di aver specificato il linguaggio (informazione quasi inutile) e non la piattaforma (informazione determinante). lo screenshot lo devi prendere su Windows o su Linux?
per Windows devi guardare in MSDN. sostanzialmente si tratta di ottenere un handle al device context dello schermo ed effettuare un BitBlt verso un memory device context; successivamente puoi salvare su file il contenuto del bitmap di quest'ultimo memory d.c. ovviamente di tutto questo non avrai capito nulla: studiati un po' di programmazione Win32, GDI in particolare, e poi ne riparliamo :D
per "stamparlo a video" poi è tutta un'altra storia: si presuppone che tu debba creare un'applicazione grafica con una finestra su cui "stampare"; una volta che hai creato la finestra in questione puoi prenderne l'handle del client device context e fare il BitBlt.
xsatellitex
08-12-2007, 07:19
grazie per le dritte.. il problema è che in rete non riesco a trovare materiale.Ho letto un libro universitario sul C ma non c'e' niente al riguardo.
Per win allora devo cercare win32 e gdi.... e per linux?? :D
magari se puoi indircarmi anche qualche libro :fagiano:
ieri ero pigro e non mi andava di aprire il sito di MSDN che pesa una cifra; oggi sono più magnanimo e ti do qualche link utile :D
ecco le funzioni principali che devi usare per fare quello che chiedi (almeno imho, perché comunque non c'ho mai provato):
http://msdn2.microsoft.com/en-us/library/ms533241.aspx
http://msdn2.microsoft.com/en-us/library/ms532278.aspx
http://msdn2.microsoft.com/en-us/library/ms533268.aspx
http://msdn2.microsoft.com/en-us/library/ms532334.aspx
ed inoltre per salvare su file ti linko le specifiche del formato BMP:
http://msdn2.microsoft.com/en-us/library/ms532311.aspx
più anche un esempio di salvataggio:
http://msdn2.microsoft.com/en-us/library/ms532340.aspx
poi per Linux non ne ho la più pallida idea :D
xsatellitex
08-12-2007, 13:20
azz pensavo fosse piu semplice... vabeh mi metto all opera :D
ilsensine
08-12-2007, 13:41
e per linux?? :D
Non saprei come si fa, ma in questo toolkit:
www.fox-toolkit.org
c'è tra gli esempi un programmino che lo fa. Puoi vedere il sorgente.
imagemagick
oppure su linux
system("import -window root screen.png");
:mbe:
imagemagick
oppure su linux
system("import -window root screen.png");
:mbe:
geniale quel comando, così nello screenshot si vede anche la finestra di terminale :asd:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.