28 Kasım 2018 Çarşamba

Graphics CopyFromScreen metodu

CopyFromScreen metodu - point + point + size
Tüm ekranı kopyalar. Böylece screen capture - yani ekran yakalama yapılabilir. Bu metod aynı zamanda magnifier yani büyüteç uygulaması için de kullanılabilir. Yani verilen alandaki pikselleri büyüterek veya küçülterek kopyalayabiliyor.

Örnek
Elimizde şöyle bir kod olsun
Rectangle bounds = Screen.FromControl(this).Bounds;
Şöyle yaparız
using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
using (Graphics g = Graphics.FromImage(bitmap))
{
  //Add screen to bitmap:
  g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size);

  //Create and save screenshot:
  string name = path + "//screenshot-" + fileCount + ".jpeg";
  bitmap.Save(name, ImageFormat.Jpeg);
  inputImageSequence.Add(name);
  fileCount++;
}  
Örnek
Şöyle yaparız
Rectangle bounds = Screen.GetBounds(Point.Empty);
using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
{
  using (Graphics g = Graphics.FromImage(bitmap))
  {
    g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
  }
  bitmap.Save("c://My_Img.jpg", ImageFormat.Jpeg);
}
CopyFromScreen metodu - x1 + y1 + x2 + y2 + size
Örnek
Şöyle yaparız.
Bitmap memoryImage = new Bitmap(1366, 768);
Size bounds = new Size(memoryImage.Width, memoryImage.Height);

// Create graphics
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
// Copy data from screen
memoryGraphics.CopyFromScreen(0, 0, 0, 0, bounds);

Hiç yorum yok:

Yorum Gönder