مقدمه
اسکرین شات یا تصویر از صفحه، یکی از ویژگیهای کاربردی در برنامهنویسی است که به شما اجازه میدهد تا تصویری از محتوای صفحه نمایش کامپیوتر بگیرید. در سیشارپ، با استفاده از کتابخانههای مختلف میتوان این کار را به سادگی انجام داد. در ادامه، به بررسی یک نمونه کد اسکرین شات در سیشارپ خواهیم پرداخت.
کتابخانههای مورد نیاز
برای گرفتن اسکرین شات در سیشارپ، نیاز به استفاده از فضای نامهای زیر دارید:
```csharp
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
```
نمونه کد
در ادامه یک کد ساده برای گرفتن اسکرین شات از صفحه نمایش ارائه میشود:
```csharp
public void TakeScreenshot()
{
// اندازه صفحه نمایش را دریافت میکنیم
Rectangle bounds = Screen.GetBounds(Point.Empty);
// ایجاد یک تصویر جدید با اندازه صفحه
using Bitmap screenshot = new Bitmap(bounds.Width, bounds.Height);
// ایجاد یک گرافیک از تصویر
using Graphics g = Graphics.FromImage(screenshot);
// گرفتن اسکرین شات
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
// ذخیره تصویر به فرمت PNG
screenshot.Save("screenshot.png", ImageFormat.Png);
}
```
توضیحات کد
- دریافت اندازه صفحه: ابتدا با استفاده از `Screen.GetBounds(Point.Empty)` اندازه صفحه نمایش را دریافت میکنیم.
- ایجاد تصویر: سپس یک شیء از نوع `Bitmap` ایجاد میکنیم که ابعاد آن برابر با اندازه صفحه است.
- ایجاد گرافیک: با استفاده از `Graphics.FromImage` یک گرافیک از تصویر ایجاد میشود.
- گرفتن اسکرین شات: با استفاده از متد `CopyFromScreen` تصویر صفحه نمایش را به تصویر جدید منتقل میکنیم.
- ذخیره تصویر: در نهایت، تصویر به فرمت `PNG` و با نام `screenshot.png` ذخیره میشود.
نتیجهگیری
با استفاده از کدی که ارائه شد، میتوانید به راحتی از صفحه نمایش خود اسکرین شات بگیرید. این قابلیت میتواند در برنامههای مختلف، از جمله نرمافزارهای آموزشی و ابزارهای عیبیابی، بسیار مفید باشد. با کمی تغییر در کد، میتوانید ویژگیهای بیشتری مانند ذخیره در فرمتهای مختلف یا گرفتن اسکرین شات از پنجرههای خاص را نیز پیاده سازی کنید.