گرفتن اسکرین شات در سی شارپ
گرفتن اسکرین شات از صفحه نمایش، یکی از نیازهای رایج در برنامهنویسی است. در زبان سی شارپ، این کار معمولاً با استفاده از کلاسهای موجود در فضای نام `System.Drawing` انجام میشود. در اینجا، بهطور کامل و جامع به این موضوع میپردازیم.
روشهای گرفتن اسکرین شات
برای شروع، باید فضای نامهای مورد نیاز را اضافه کنیم. بهطور خاص، باید از `System.Drawing` و `System.Windows.Forms` استفاده کنیم.
```csharp
using System;
using System.Drawing;
using System.Windows.Forms;
```
سپس، میتوانیم یک متد برای گرفتن اسکرین شات ایجاد کنیم. در این متد، از `Graphics` برای ترسیم محتویات صفحه نمایش استفاده میشود.
```csharp
public Bitmap CaptureScreen()
{
Rectangle bounds = Screen.GetBounds(Point.Empty);
Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height);
using (Graphics g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
}
return bitmap;
}
```
ذخیرهسازی تصویر
پس از اینکه اسکرین شات را گرفتیم، میتوانیم آن را به یک فایل تصویر ذخیره کنیم. برای این کار، با استفاده از متد `Save` کلاس `Bitmap` میتوانیم تصویر را به فرمتهای مختلفی ذخیره کنیم.
```csharp
public void SaveScreenshot(string filePath)
{
Bitmap screenshot = CaptureScreen();
screenshot.Save(filePath, System.Drawing.Imaging.ImageFormat.Png);
}
```
استفاده از متدها
حالا که متدهای لازم را داریم، میتوانیم آنها را در یک برنامه واقعی استفاده کنیم. بهعنوان مثال:
```csharp
static void Main()
{
SaveScreenshot("screenshot.png");
Console.WriteLine("Screenshot saved!");
}
```
نتیجهگیری