.NET WinForms:如何从表单“后面”获取屏幕截图?

问题描述 投票:0回答:1

设 rect 为当前屏幕上显示的表单的左、上、宽、高。现在,我想对桌面“后面”显示的内容进行“屏幕截图”。

动机:我相信你们都知道有一个电视台在屏幕的某个角落显示时钟。大多数这些时钟确实有一个失败之处:它们不适应背景,比如时钟显示在右上角,并且字体颜色被设置为纯白色。假设天气预报显示鲍勃·罗斯蓬松的小白云。现在是几奌?呃……

我想做的是截取我的时钟将显示的同一区域的屏幕截图,并计算该区域(矩形)的或多或少的对比色。

有什么提示吗?只是关于如何获取背景矩形!谢谢!

.net windows winforms screenshot display
1个回答
0
投票
using System.Drawing.Imaging;
using System.Drawing;
using System;

try
{
    Bitmap captureBitmap = new Bitmap(1024, 768, PixelFormat.Format32bppArgb);
    Rectangle captureRectangle = Screen.AllScreens[0].Bounds;
    Graphics captureGraphics = Graphics.FromImage(captureBitmap);
    captureGraphics.CopyFromScreen(captureRectangle.Left,captureRectangle.Top,0,0,captureRectangle.Size);
    captureBitmap.Save(@"E:\Capture.jpg",ImageFormat.Jpeg);
    MessageBox.Show("Screen Captured");
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}
© www.soinside.com 2019 - 2024. All rights reserved.