【问题标题】:Drawing over desktop in C#在 C# 中在桌面上绘图
【发布时间】:2012-10-12 06:07:35
【问题描述】:

我看到了一些类似的问题,但没有做我需要的。

我正在寻找类似于旧的 Sheep.exe 程序的东西,它在所有可以四处走动的窗户上都有一只小羊。

我找到了两种可能的解决方案:

首先是绘制到桌面的HDC。问题是它不是我的 DC,我无法控制什么时候刷新。

另一种解决方案是使用透明窗口。我想要一堆独立的图像(交互)。我不确定是否应该使用填充整个屏幕空间的透明窗口并在其中绘制多个图像,或者是否应该为每个图像创建一个单独的窗口(当有很多图像时,效率会非常低。

解决此问题的最佳方法是什么?

【问题讨论】:

    标签: c# gdi


    【解决方案1】:

    WPF:应用程序的主窗口始终在顶部,始终最大化,背景透明,然后开始覆盖/动画到您的心内容。

    【讨论】:

    • 使用 Expression Blend 让任务变得非常简单
    • 除非有特殊原因,否则不要将背景设置为空。一般设置为黑色或白色,Alpha 通道设置为 0。
    【解决方案2】:

    您可以使用 WPF 作为解决方案。为此,您需要确保将 Background 设置为 {x:null} 以及 AllowsTransparency="True"

    例子:

    <Window x:Class="WPFMe.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="1024" Width="768" AllowsTransparency="True" WindowStyle="None" Background="{x:Null}">
        <Grid>
    
        </Grid>
    </Window>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-22
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多