1
0
Fork 0
mirror of https://github.com/hawkeye-stan/msfs-popout-panel-manager.git synced 2025-02-17 00:44:28 +01:00
msfs-popout-panel-manager/Provider/ImageOperation.cs

35 lines
992 B
C#
Raw Normal View History

2021-12-14 06:40:07 +01:00
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Threading;
2022-01-27 14:40:04 +01:00
namespace MSFSPopoutPanelManager.Provider
2021-12-14 06:40:07 +01:00
{
public class ImageOperation
{
public static Bitmap TakeScreenShot(IntPtr windowHandle)
{
// Set window to foreground so nothing can hide the window
PInvoke.SetForegroundWindow(windowHandle);
Thread.Sleep(300);
Rectangle rectangle;
PInvoke.GetWindowRect(windowHandle, out rectangle);
var left = rectangle.Left;
var top = rectangle.Top;
var width = rectangle.Right - rectangle.Left;
var height = rectangle.Bottom - rectangle.Top;
var bmp = new Bitmap(width, height, PixelFormat.Format24bppRgb);
using (Graphics g = Graphics.FromImage(bmp))
{
g.CopyFromScreen(new Point(left, top), Point.Empty, rectangle.Size);
}
return bmp;
}
}
}