05/05/11 21:09
air
Ciao a tutti, volevo fare un pultante per salvare il mio form in vb come immagine.
Avevo pensato di catturare lo schermo, metterlo in una picture e ritagliarla alla dimensini del form ma sto avento qualche piccolo problema. Posto il codice:
il problema credo sia la funzione drawimageunscaled... Qualcuno sa di preciso come funziona???
Avevo pensato di catturare lo schermo, metterlo in una picture e ritagliarla alla dimensini del form ma sto avento qualche piccolo problema. Posto il codice:
Public Class frm_salva Private Sub btn_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_save.Click FolderBrowserDialog1.ShowDialog() 'seleziona il percorso il cui salvare i file' txt_percorso.Text = FolderBrowserDialog1.SelectedPath 'metto il percorso End Sub Private Sub btn_salva_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_salva.Click pic_save.Image = CaptureScreen() Dim x, y, l, h As Short l = pic_save.Width h = pic_save.Height 'nuova immagine delle dimensioni della tua picturebox Dim img As New Bitmap(l, h) x = Me.Location.X y = Me.Location.Y l = Me.Width h = Me.Height 'classe graphic dell'immagine Dim pb_graphic As Graphics = Graphics.FromImage(img) 'ne prende una parte pb_graphic.DrawImageUnscaled(pic_save.Image, 0, 0, l, h) 'assegna alla tua immagine l'immagine ridimensionata pic_save.Image = img pic_save.Image.Save(txt_percorso.Text & "\prova.jpeg") MsgBox("Salvato!") End Sub Private Function CaptureScreen() As System.Drawing.Bitmap ' Creo un oggetto bitmap di dimensioni uguali allo schermo Dim b As Bitmap = New Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height) ' Creo l'oggetto graphics Dim g As Graphics = Graphics.FromImage(b) ' Definisco un oggetto Size con le dimensioni dello schermo Dim sz As Size = New Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height) ' Catturo l'intera area dello schermo g.CopyFromScreen(0, 0, 0, 0, sz, CopyPixelOperation.SourceCopy) ' Restituisco l'oggetto bitmap Return b End Function End Class
il problema credo sia la funzione drawimageunscaled... Qualcuno sa di preciso come funziona???
Ultima modifica effettuata da air 05/05/11 21:17
aaa