Principales respuestas
Como puedo obtener la imagen actual del escritorio y colocarla en un image

Pregunta
-
Buenos días y un cordial saludo, como dice mi pregunta me gustaría obtener la imagen del escritorio y después plasmarla dentro de un image desde C#, pero realmente no tengo conocimiento alguno, de mi parte es todo, espero puedan ayudarme, un fuerte abrazo.
Respuestas
-
Hola:
Adapta la sentencia a tus necesidades.
Esta diseñado para que funciona desde un menustrip.
Private Sub mnuCapturaPantalla_Click(sender As Object, e As EventArgs) Handles mnuCapturaPantalla.Click Dim a As Reflection.Assembly = Reflection.Assembly.GetExecutingAssembly Dim rm As New ResourceManager(a.GetName.Name & ".Textos", a) Dim RutaExe As String = IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase).Remove(0, 6) Dim Pantallazo As Image Pantallazo = CapturaPantalla.TrincarImagen 'Pantallazo.Save("C:\Users\gemma\Documents\Visual Studio 2015\Projects\FinancialSystem2016\FinancialSystem\bin\Debug\Captura Pantallas\pantallazo.jpg") Pantallazo.Save(RutaExe & "\Captura Pantallas\" & rm.GetString("btnBalSituacion") & ".jpg") MessageBox.Show("Pantalla guadada en 'Captura Pantallas' dentro de la carpeta del programa.", "TU PROGRAMA", MessageBoxButtons.OK, MessageBoxIcon.Information) End Sub
Y en una clase llamada por ejemplo CapturaPantalla:
Imports System.Drawing Imports System.Windows.Forms Public Class CapturaPantalla Public Shared Function TrincarImagen() As Image ' Tamaño de lo que queremos copiar ' En este caso el tamaño de la ventana principal Dim fSize As Size = Screen.PrimaryScreen.Bounds.Size ' Creamos el bitmap con el área que vamos a capturar Dim bm As New Bitmap(fSize.Width, fSize.Height) ' Un objeto Graphics a partir del bitmap Dim gr As Graphics = Graphics.FromImage(bm) ' Copiar todo el área de la pantalla gr.CopyFromScreen(0, 0, 0, 0, fSize) Return bm End Function End Class
Un cordial saludo,
Gemma
- Marcado como respuesta Jovanny CJ martes, 26 de marzo de 2019 16:48
Todas las respuestas
-
Hola:
Adapta la sentencia a tus necesidades.
Esta diseñado para que funciona desde un menustrip.
Private Sub mnuCapturaPantalla_Click(sender As Object, e As EventArgs) Handles mnuCapturaPantalla.Click Dim a As Reflection.Assembly = Reflection.Assembly.GetExecutingAssembly Dim rm As New ResourceManager(a.GetName.Name & ".Textos", a) Dim RutaExe As String = IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase).Remove(0, 6) Dim Pantallazo As Image Pantallazo = CapturaPantalla.TrincarImagen 'Pantallazo.Save("C:\Users\gemma\Documents\Visual Studio 2015\Projects\FinancialSystem2016\FinancialSystem\bin\Debug\Captura Pantallas\pantallazo.jpg") Pantallazo.Save(RutaExe & "\Captura Pantallas\" & rm.GetString("btnBalSituacion") & ".jpg") MessageBox.Show("Pantalla guadada en 'Captura Pantallas' dentro de la carpeta del programa.", "TU PROGRAMA", MessageBoxButtons.OK, MessageBoxIcon.Information) End Sub
Y en una clase llamada por ejemplo CapturaPantalla:
Imports System.Drawing Imports System.Windows.Forms Public Class CapturaPantalla Public Shared Function TrincarImagen() As Image ' Tamaño de lo que queremos copiar ' En este caso el tamaño de la ventana principal Dim fSize As Size = Screen.PrimaryScreen.Bounds.Size ' Creamos el bitmap con el área que vamos a capturar Dim bm As New Bitmap(fSize.Width, fSize.Height) ' Un objeto Graphics a partir del bitmap Dim gr As Graphics = Graphics.FromImage(bm) ' Copiar todo el área de la pantalla gr.CopyFromScreen(0, 0, 0, 0, fSize) Return bm End Function End Class
Un cordial saludo,
Gemma
- Marcado como respuesta Jovanny CJ martes, 26 de marzo de 2019 16:48
-