【问题标题】:making a transparent window as a canvas for drawing制作一个透明窗口作为绘图的画布
【发布时间】:2014-11-04 17:49:14
【问题描述】:

我一直在 Visual Studio 中开发一个应用程序,并且偶然发现了一个我希望实现的注释功能的问题。基本上,我希望能够使用鼠标在屏幕上绘图。我最初在这里检查了一些其他问题,并想制作一个透明窗口来绘制,但是使窗口完全透明导致我的鼠标单击触发其他窗口,这将不起作用。

然后我尝试为具有白色背景的窗口设置极低的不透明度,这导致屏幕略微阴影,这很好。但是,对整个窗口执行此操作导致我绘制的线条的不透明度也非常低,因此基本上不可见。

有没有办法使用透明窗口来解决这个问题,还是我必须做一些事情,比如截屏并制作一个窗口大小的图片供用户绘制?这似乎不太优雅的解决方案和我的应用程序中的其他功能,如果可能的话,我想避免这种情况,但如果这似乎是唯一的方法,在实施中的一些帮助将不胜感激。

谢谢! 凯文

【问题讨论】:

  • 这是关于 wpf、winforms 还是...?
  • 啊,对不起,我正在使用 wpf
  • 不要设置窗口的不透明度,而是使用低不透明度的背景,例如#01FFFFFF。
  • 哇,这完全有效!谢谢,我不知道有透明背景。

标签: c# wpf visual-studio annotations transparent


【解决方案1】:

不要设置窗口的不透明度,而是使用不透明度低的背景,例如#01FFFFFF:

<Window ... Background="#01FFFFFF">
    ...
</Window>

或者,您可以显式创建一个 SolidColorBrush 作为背景并将其不透明度设置为一个较小的值:

<Window ...>
    <Window.Background>
        <SolidColorBrush Color="White" Opacity="0.01"/>
    </Window.Background>
    ...
</Window>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 2014-01-02
    • 1970-01-01
    相关资源
    最近更新 更多