gpt4 book ai didi

c# - 显示过滤器 C#

转载 作者:太空狗 更新时间:2023-10-29 23:35:22 26 4
gpt4 key购买 nike

很难解释我需要什么,但我会尝试:

我需要编写应用程序 (winform),它将成为图像/其他形式的某种过滤器。除了一个异常(exception) - 除了红色(例如)颜色之外,所有后面的形式都应该看起来是一样的,必须将其替换为任何其他指定颜色,例如白色。

让我们假设我打开了只有几行文本的 Word 窗口。带有红色和黑色字母。因此,当我将我的应用程序置于此文本上方时 - 它应该“过滤”红色符号并将它们填充为白色。

据我了解这个任务:我必须捕捉表单后面的区域,然后对其进行处理(替换颜色),然后在我的表单主体上绘制此图像。

有解决方案的链接或关键字吗?

更新:

所以 - 这是我的最终解决方案:

  1. 形成透明(使用 TransparencyKey 和 BackColor 属性)
  2. 将图片框放在表格上
  3. 当我们需要更新 picturebox 中的图像时 - 我们用 pictureBox1.Image = null; 替换当前图像,然后用 (this.Refresh()) 刷新表单并做新快照

谢谢大家;-)

更新 2: sample http://dl.dropbox.com/u/4486681/result.png

更新 3:这里是 sources

最佳答案

您可以使用以下代码创建桌面快照:

public Bitmap CaptureScreen()
{
Bitmap b = new Bitmap(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height);
Graphics g = Graphics.FromImage(b);
g.CopyFromScreen(0, 0, 0, 0, b.Size);
g.Dispose();
return b;
}

用表单的坐标替换尺寸和位置。通过这种方式,您可以获得表单背后内容的位图。然后您可以对该位图进行颜色替换。

请注意,由于 ClearType 和其他抗锯齿机制等设置,您在进行颜色替换时还必须考虑“中间像素”。否则事情会看起来很有趣 :-)

关于c# - 显示过滤器 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2361287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com