Salve avrei una domanda che credo facile. Come faccio mio programma a salvare la schermata (come con il tasto print (o stampa se ho la tastiera in italano) ) e a incollarla in una jpg?
Asp etto anzioso vostra risposta. :master:![]()
Salve avrei una domanda che credo facile. Come faccio mio programma a salvare la schermata (come con il tasto print (o stampa se ho la tastiera in italano) ) e a incollarla in una jpg?
Asp etto anzioso vostra risposta. :master:![]()
Puoi usare la funzione keybd_event della libreria user32.dll di windows per emulare la pressione di PrintScreen. La dichiarazione della procedura è:
e la puoi lanciare ottenendo il codice di PrintScreen:codice:Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, _ ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Dopodichè, l'immagine dello schermo sarà incollata nella clipboard. Per ottenerla:codice:keybd_event(Windows.Forms.Keys.PrintScreen, 0, 0, 0)
codice:Clipboard.GetImage()
Ciao scusa se riapro, ma che classi bisogna importare per usare windows?Originariamente inviato da Il Totem
Puoi usare la funzione keybd_event della libreria user32.dll di windows per emulare la pressione di PrintScreen. La dichiarazione della procedura è:
e la puoi lanciare ottenendo il codice di PrintScreen:codice:Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, _ ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Dopodichè, l'immagine dello schermo sarà incollata nella clipboard. Per ottenerla:codice:keybd_event(Windows.Forms.Keys.PrintScreen, 0, 0, 0)
codice:Clipboard.GetImage()
Non volendo usare le API, si potrebbe:
codice:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Hide() System.Threading.Thread.Sleep(250) Dim myEncoder As New EncoderParameters(1) myEncoder.Param(0) = New EncoderParameter(Encoder.Quality, 100) Dim bmp As Bitmap = New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height) Dim g As Graphics = Graphics.FromImage(bmp) g.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, _ Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy) g.Dispose() bmp.Save("C:\screen.jpg", MyCodec, myEncoder) Me.Show() End Sub Private Function MyCodec() As ImageCodecInfo Dim codecs As ImageCodecInfo() = ImageCodecInfo.GetImageEncoders For Each codec As ImageCodecInfo In codecs If (codec.MimeType = "image/jpeg") Then Return codec End If Next Return Nothing End Function
Sbagliare è umano, perseverare è diabolico.
Quest'ultimo metodo tra l'altro è a mio avviso molto migliore perché (1) è più efficiente, (2) non ricorre a trucchi come simulare pressioni di tasti e (3) evita di far perdere il contenuto degli appunti.
Amaro C++, il gusto pieno dell'undefined behavior.
mmm posso fare una domanda... anche se non so se sia una cosa fattibile.Originariamente inviato da MItaly
Quest'ultimo metodo tra l'altro è a mio avviso molto migliore perché (1) è più efficiente, (2) non ricorre a trucchi come simulare pressioni di tasti e (3) evita di far perdere il contenuto degli appunti.
Si può fare che dando un indirizzo web esempio www.miosito.it/index.html
riesco a fare una preview della pagina al volo? ovvero creare unì'immagine di quella pagina?
Cosa intendi creare un'immagine di quella pagina? ? Salvare su file qulla preview ?
Sbagliare è umano, perseverare è diabolico.
tipo io passo una url... prendo l'html che la url restituisce e lo trasformo in immagine e la mostroOriginariamente inviato da Pirelli72
Cosa intendi creare un'immagine di quella pagina? ? Salvare su file qulla preview ?
Sto leggendo varie cose ma trovo solo componenti activex da usare e spesso con le windows form non pe ril web.
Per il web è difficile trovare alcunché, dovresti richiamare un motore di rendering (Gecko/WebKit/...) sulla pagina in questione, far renderizzare la pagina e ottenerne un'immagine... decisamente poco fattibile per il web.
Amaro C++, il gusto pieno dell'undefined behavior.
Io ho trovato delle librerie ma sono tutte a pagamento.Originariamente inviato da MItaly
Per il web è difficile trovare alcunché, dovresti richiamare un motore di rendering (Gecko/WebKit/...) sulla pagina in questione, far renderizzare la pagina e ottenerne un'immagine... decisamente poco fattibile per il web.
Che vanno bene per il web. Altrimenti avevo trovato una cosasina ma usava un .exe e se non hai un server tuo non è facile da usare:-)