#22 Salvare la schermata tramite la clipboard

Per implementare in un nostro programma il salvataggio su file del contenuto dello schermo possiamo utilizzare una tecnica come quella seguente che non fa uso di API di sistema ma utilizza la clipboard. 

In sostanza:
– mettiamo un controllo Image e un pulsante in un form
– inseriamo il seguente codice:

Private Sub Button1_Click(ByVal sender As System.Object, _ 
        ByVal e As System.EventArgs) Handles Button1.Click 
    Me.PictureBox1.Image = My.Computer.Clipboard.GetImage() 
    Dim frmImage As System.Drawing.Imaging.ImageFormat 
    frmImage = System.Drawing.Imaging.ImageFormat.Jpeg 
    Me.PictureBox1.Image.Save("C:\immagine.jpg", frmImage) 
End Sub

Dopo aver avviato il programma, se vogliamo salvare il contenuto dello schermo:
– premiamo il tasto “Stamp”
– premiamo il pulsante Button1
… e automaticamente il controllo Image visualizzerà il contenuto della clipboard, salvando il tutto nel file C:\immagine.jpg.
Se dovesse servire un altro formato di file immagine non serve fare altro che cambiare la definizione

frmImage = System.Drawing.Imaging.ImageFormat.Jpeg

con un altro formato, per esempio

frmImage = System.Drawing.Imaging.ImageFormat.Bmp
Annunci

Pubblicato il 18 febbraio 2008, in Tips con tag , . Aggiungi il permalink ai segnalibri. 2 commenti.

  1. Buongiorno,
    nonostante abbia letto e usato il suo libro non riesco ad incollare il testo contenuto in una pagina web in
    un richtextbox.

    Per essere più chiaro vorrei realizzare un programma, che esegua le seguenti funzioni, attualmente le faccio “a mano”:

    1) carico una pagina web con explorer
    2) seleziono il tutto, con il comando seleziona tutto
    3) copia
    4) incollo su blocco note

    ho provato a realizzare un programma, carico la pagina con il controllo Webservice, ma quando incollo in un richtextbox mi viene incolla anche i carattereti che costituiscono la pagina, cioè in formato html.

    La ringrazio per l’attenzione prestatami, Cordiali Saluti

    Mi piace

    • Forse c’è un po’ di confusione …
      1) il controllo si chiama WebBrowser non Webservice
      2) prima fai riferimento a un richtextbox e poi al blocco note.
      In ogni caso ho provato anch’io a vedere cosa succede: ho creato due form, il primo con un controllo WebBrowser con la proprietà URL uguale a “http://www.visual-basic.it” e il secondo form con un controllo RichTextBox. Il codice del metodo Load del primo form richiama anche il secondo form aprendolo.
      Una volta avviato il programma, il primo form visualizza la pagina web del portale di VB T&T. Selezionando del testo dalla pagina e incollandolo nel RichTextBox del secondo form, ho semplicemente il testo copiato, senza alcun tag, tranne per il caso dei link, nel qual caso viene inserito il tag del link stesso.
      Mi sembra che il tutto funzioni bene, cos’è che non ti torna?

      Mi piace

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: