【发布时间】:2015-11-16 20:47:19
【问题描述】:
我想创建某种像 windows 一样的截图工具。 我有一个窗口,它用半透明层覆盖屏幕。用户可以通过拖动鼠标来定义屏幕截图的区域(他像在 windows 截图工具中一样绘制一个矩形)。我的问题是:我怎样才能使窗口的一部分完全透明,以便用户可以清楚地看到屏幕截图的区域?
到目前为止,这是我的代码:
<Window x:Class="SnippingToolPro.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow"
Width="525"
Height="350"
AllowsTransparency="True"
WindowStyle="None"
ResizeMode="NoResize"
WindowStartupLocation="CenterScreen"
WindowState="Maximized"
Opacity="0.5">
<Canvas>
</Canvas>
对于在中间打“洞”有什么建议吗?
【问题讨论】:
-
通常,截图工具会创建一个全屏窗口,显示屏幕截图而不是实际屏幕。换句话说,它们没有使用透明效果。当您播放视频并启动截图工具时,您可以看到这一点。您将看到视频的静止帧。
-
你是对的!好建议,但即使我这样做,我也有同样的问题,对吧?
-
不,你没有。您只需在屏幕截图顶部显示一个蒙版。并且根据矩形,此遮罩会发生变化。