تهیه تصویر از صفحه نمایش مانیتور
  در این ترفند به معرفی روشی جدیدی جهت عکس گرفتن از صفحه نمایش مانیتور در برنامه های تحت ویندوز می پردازم.
   C#
   ۱۸۲۲۹
   دانلود
   مرتضی صحراگرد
   ۱۳۸۷/۱۲/۹
ارسال لینک صفحه برای دوستان ارسال لینک صفحه برای دوستان  اضافه کردن به علاقه مندیها اضافه کردن به علاقه مندیها   نسخه قابل چاپ نسخه قابل چاپ

 

مقدمه :

در برخی برنامه های تحت ویندوز، گاهی نیاز می باشد که از صفحه نمایش مانیتور یک و یا چند عکس گرفته و عملیات خاصی را روی آن انجام دهیم.

تا قبل از انتشار Dot Net Framework 2.0 این عمل توسط GDI انجام می شد. ولی اکنون با استفاده از متدی به نام CopyFromScreen ، این عمل به سادگی قابل انجام می باشد.

شروع:

برای انجام این کار، ابتدا نیاز داریم یک تصویر Bitmap به اندازه طول و عرض صفحه نمایش ایجاد نماییم.

Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width,Screen.PrimaryScreen.Bounds.Height);

سپس یک شی گرافیک از نوع این Bitmap ایجاد نموده و متد CopyFromScreen را روی آن اعمال می نماییم.

Graphics g = Graphics.FromImage(bmp);

g.CopyFromScreen(0, 0, 0, 0, bmp.Size);

اکنون شی Bitmap،  دارای تصویر مورد نظر ما می باشد و می توانیم آن را ذخیره نموده (bmp.Save) و یا در داخل یک PictureBox نمایش دهیم.

در قطعه کد زیر، یک تصویر از صفحه نمایش تهیه نموده و داخل یک کنترل PictureBox نمایش داده ایم.

if (pictureBox1.Image != null) pictureBox1.Image.Dispose();

Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width,Screen.PrimaryScreen.Bounds.Height);

 

Graphics g = Graphics.FromImage(bmp);

g.CopyFromScreen(0, 0, 0, 0, bmp.Size);

 

g.Dispose();

pictureBox1.Image = bmp;

pictureBox1.Size = bmp.Size;

قطعه کد کامل این ترفند، از لینک بالای صفحه قابل دریافت می باشد.