martes, abril 03, 2007

Capturar la pantalla por código

Interesante tip para hacer un print-screen desde la aplicacion

public partial class Form1 : Form

{

// Buffer de gráficos

Graphics _grphcs;

//Imagen que se mostrará en el PictureBox

Bitmap _btmp;

//Ancho de la pantalla

int _screenWidth;

//Alto de la pantalla

int _screenHeight;

public Form1()

{

InitializeComponent();

//Creamos la imagen con tamaño 150px x 150px

_btmp = new Bitmap(150, 150);

//Creamos el buffer apartir de la imagen

_grphcs = Graphics.FromImage(_btmp);

//Establecemos el ancho de la pantalla

_screenHeight = Screen.PrimaryScreen.WorkingArea.Height;

//Establecemos el alto de la pantalla

_screenWidth = Screen.PrimaryScreen.WorkingArea.Width;

}

private void _myTimer_Tick(object sender, EventArgs e)

{

//Obtenemos la posición del cursor

Point _pnt = Cursor.Position;

//Centramos el cursor

_pnt.X -= 75;

_pnt.Y -= 75;

//Rellenamos la imagen de negro para las zonas no visibles

_grphcs.FillRectangle(Brushes.Black, new Rectangle(0,0,150,150));

//Obtenemos la captura de la pantalla usando la posicion que obtuvimos

//antes del cursor, copiamos la imagen en la posición (0,0) y usamos

//el tamaño de siempre

_grphcs.CopyFromScreen(_pnt, new Point(0, 0), _btmp.Size);

//Por último establecemos el BitMap como imagen del PictureBox

_pctrBx.Image = _btmp;

}

}


El código original está aquí

Etiquetas: ,

0 Comentarios:

Publicar un comentario

Suscribirse a Comentarios de la entrada [Atom]

<< Página Principal