Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    33

    [C#] Print Screen

    Ciao a tutti,
    ho l'esigenza di fare un print screen di un form che ho costruito. Mi spiego meglio. Nella mia applicazione ho la necessità di stampare e salvare su di un file quello che viene visualizzato all'interno del form. Sono riuscito a emulare il funzionamento del tasto STAMPA della tastiera e a salvare il contenuto su di un file jpg. Il contenuto del file comprende l'intero form, ma a me servirebbe stampare solo alcune aree del form in questione.

    L'unica alternativa che ho è quella di mettermi a tagliare la foto finche non ho il risultato desiderato o c'è qualche metodo per creare un file con i contenuti richiesti???

    Grazie mille per la collaborazione.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970

    Re: [C#] Print Screen

    Originariamente inviato da cathello


    L'unica alternativa che ho è quella di mettermi a tagliare la foto finche non ho il risultato desiderato o c'è qualche metodo per creare un file con i contenuti richiesti???

    Grazie mille per la collaborazione.
    Assolutamente no, puoi tranquillamente copiare in memoria ogni singolo controllo presente sulla Form e salvarlo come immagine.
    Sbagliare è umano, perseverare è diabolico.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    33
    Riesci a postarmi un esempio??

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Certamente:

    codice:
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            CopyControl(PictureBox1)
        End Sub
    
        Public Sub CopyControl(ByVal controllo As Control)
            Dim bmp As Bitmap
            Dim frmGraphics As Graphics = controllo.CreateGraphics()
            Dim rect As Rectangle = controllo.ClientRectangle
            bmp = New Bitmap(rect.Width, rect.Height, frmGraphics)
            frmGraphics.Dispose()
            Dim picGraphics As Graphics = Graphics.FromImage(bmp)
            picGraphics.CopyFromScreen(controllo.PointToScreen(New Point(rect.Left, rect.Top)), New Point(0, 0), New Size(rect.Width, rect.Height))
            picGraphics.Dispose()
            bmp.Save("C:\mio.bmp", System.Drawing.Imaging.ImageFormat.Bmp)
        End Sub
    Buttato li, da testare, con una Form e una PictureBox con una foto e un semplice pulsante.

    Sbagliare è umano, perseverare è diabolico.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    33
    Ok grazie mille,
    stasera provo ad adattarla al caso mio e ti faccio sapere.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.