miércoles, 9 de agosto de 2017

Capturador de Pantalla

Es bien sabido que "Una imagen vale mas que mil palabras " pues aqui les tengo un pequeño programa que hace honor a esa frase. Pues trata de un programa en c# que captura una imagen de tu escritorio y la guarda en la dirección que le digas y en el formato que elijas.

Es bastante simple y de hecho lo uso mucho cuando hago los post para este blog ( me gusta usar mi propio código). aunque es simple usar de repente la tecla print screem y luego pain o word este programa resume todo esos procesos simplificando aún mas nuestro trabajo del día a día, Vale empecemos con el código.



Explicacion del programa


Para empezar necesitaremos agregar 3 botones, 1 combobox, 1 textbox y un pictureBox a nuestro formulario. te explico que el picturebox sera para mostrar nuestra imagen recientemente tomada.
Quedando asi ^


Luego debemos agregar los llamados a librerías de clases necesarias  en este caso unas específicas para imagenes,bitmap y otra para clase, ( Diagnostics ), que permiten interactuar con procesos del sistema, registros de eventos y contadores de rendimiento.







Crearemos un método void donde agregaremos los diferentes formatos de imágenes que podemos salvar nuestra imagen de pantalla y dejando como preseleccionada la de JPEG, en este caso por razones de comodidad.



En el método Load del formulario añadiremos el llamado al método de carga de datos al combobox y para tener una ruta pre establecida donde guardar las imágenes, agregaremos la funcion GetFolderPAth de la ruta de Mis Imágenes obtenida por SpecialFolder.MyPictures, todo de la clase Environment. Esto nos devuelve la ruta completa de carpetas del usuario en este caso la de mis imágenes, que sería la ruta por defecto donde se almacena nuestro resultado.

Y ahora... lo complicado del programa y un poco extenso. Primero crearemos un objeto bitmap llamado "Objeto_Captura" no muy imaginativo de mi parte pero da igual.  el meto empieza ocultado el form de la pantalla y en caso de que no reaccione la refresco con un "DoEvents" luego creando un objeto Rectangle le asigno  los valores ancho y alto de mi pantalla por la función Screen y el método GetBounds y le sobrecargo con clientrectangle que sería el área permitida del cliente , esto dara como resultado tener los valores de resolución de la pantalla. una vez aquí creamos un objeto graphics y le cargamos el valor del bitmap con los valores de la resolución, esta sería más bien la imagen en blanco y el tamaño final que tendría. luego el método que hace todo posible es CopuFromScreen que captura la imagen que tiene actualmente el usuario Actualmente y por último se lo asignamos al objeto bitmap que creamos dentro de la clase el cual usaremos luego para guardar la imagen y asignarlos al Picture box, de resto es carpintería sencilla.

Para finalizar tenemos dentro del botón guardar el bloque de código que nos permitirá guardar la imagen capturada, concatenando la ruta seleccionada o por defecto, la palabra captura y más la fecha con hora, minuto y segundo para diferenciarlas entre si 


Así quedara nuestro resultado



Por ultimo una imagen de como debería verse el conjunto completo Claro sin el fondo de total war medieval 2 Y su Caballería teuton ( wenn meine kaiser )



Bueno esto es todo espero que le tengan provecho a esto y pronto subiré más ejemplos y par de artículos interesantes Aquí abajo les dejo el zelda al proyecto! Hasta la próxima.



Link al ejemplo 

No hay comentarios:

Publicar un comentario

NestJs Error on SecretKey for JWToken

  Imagine this you are coding happy, configuring your module has   auth.module.ts   using on your register the classic call to get env value...