首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Vortice 使用 DirectComposition 显示透明窗口

    通过 DirectComposition 配合 WS_EX_LAYERED 窗口样式,可以让窗口高性能地背景透明,完全依靠 DWM 将窗口背景和桌面画面合成 本文是渲染相关系列博客中的一篇,该系列博客已按照逻辑顺序编排...是有比较大的性能代价的,详细请参阅 WPF 从最底层源代码了解 AllowsTransparency 性能差的原因 性能较好的透明窗口实现可参阅 WPF 制作支持点击穿透的高性能的透明背景异形窗口 以上是在...DefWindowProc(hwnd, message, wParam, lParam); } 以上的 WM_NCCALCSIZE 用于声明客户区,通过直接返回 0 告诉系统整个区域都是客户区 透明窗口的实现在窗口创建过程中...使用 AlphaMode.Ignore 和 AlphaMode.Unspecified 参数也是合法的,但是如此就丢失了窗口透明了,不是咱的需求。...,即可渲染出透明窗口 接下来的逻辑就是和 D2D 对接,尝试渲染透明的界面用于测试 对接渲染 由于 D2D 没有什么戏份,本文就只贴出核心代码 using D2D.ID2D1Factory1

    45910

    WPF 已知问题 全屏透明窗口弹出子窗口会闪烁

    在 WPF 中通过设置 WindowStyle 为 None 以及 WindowState 为 Maximized 进入全屏,同时设置 AllowsTransparency 支持透明,此时弹出一个设置...WindowStyle 是 None 的子窗口,用 VisualStudio 2019 运行将会看到 子窗口 先显示出来,然后回到主窗口下面,然后再显示到主窗口上面 其实此问题我没有复现 此问题步骤十分简单...{ }; window.Show(); } 通过 VisualStudio 2019 运行项目,可以看到在点击按钮的时候,先显示了子窗口然后子窗口到主窗口下方...,等一下又回到主窗口上方。...也就是子窗口显示一下然后不显示,可以看到出现闪烁 注意,此时如果没有在 VisualStudio 2019 附加调试,那么不会看到子窗口闪烁 解决方法有两个 第一个方法是去掉主窗口的 AllowsTransparency

    6.1K10

    SharpDx 进入全屏模式 窗口模式设置透明窗口交换链全屏

    ,另一个是交换链进入全屏 窗口模式 和普通的 WPF 窗口差不多,可以在 RenderForm 创建的时候设置进入全屏模式,全屏就是最大化的窗口同时去掉标题栏,隐藏任务栏 在 Windows 只要整个屏幕的所有像素被填充...renderForm.IsFullscreen = true; _renderForm.AllowUserResizing = false; 这样就可以进入全屏,没有标题栏和任务栏 设置透明窗口...在窗口里面可以通过 TransparencyKey 设置某个颜色作为透明颜色,然后通过 AllowTransparency 设置支持透明 _renderForm.TransparencyKey...= Color.Transparent; _renderForm.AllowTransparency = true; 这时画出的透明的颜色就是让窗口透明,透明的部分会命中到后面的元素...和 WPF 的全屏不相同的是,在 SharpDx 里面不会占用屏幕透明的内存,也就是透明部分不需要使用程序进程的内存 交换链全屏 如果开启交换链的全屏,那么窗口透明将无法使用,使用交换链透明,在 Windows

    2.9K30

    AltSnap 下载和使用教程:Alt 键增强窗口操作效率 窗口增强工具 |窗口置顶|窗口透明度|窗口快捷操作*

    AltSnap 下载和使用教程:Alt 键增强窗口操作效率 AltSnap 使用教程|窗口增强工具|窗口置顶|窗口透明度|窗口快捷操作 前言:一次意外,让我发现了这款窗口效率神器 AltSnap 下载方式...它的核心理念非常简单: 通过按住 Alt 键 + 鼠标操作,实现对窗口的各种高级控制 包括但不限于: 任意区域拖动窗口 快速调整窗口大小 窗口透明度调节 窗口置顶 窗口快速切换 而且 体积小、无广告...3️⃣ 窗口透明度调节(Alt + 鼠标滚轮) 这是我个人非常喜欢的一个功能。 操作方式: 按住 Alt 滚动鼠标滚轮 即可实时调节窗口透明度。...实际使用场景: 对照 Excel 与微信信息 查看接口文档同时写代码 临时参考后台数据 窗口半透明后,信息对照非常直观。...在 While resizing(正在缩放) 中: 操作 功能 滚轮 调节窗口透明度 左键 静音 右键 打开窗口列表 这些功能全部支持 自由 DIY。

    84010

    dotnet C# 设置 X11 应用窗口背景透明

    本文将告诉大家如何在 X11 里面设置窗口透明 不同于在 WPF 里面可以使用 AllowsTransparency 简单方便的设置透明,在 X11 里面设置窗口透明的方法比较绕。...需要获取用于传入给到 XCreateWindow 的 Visual 指针,才能实现窗口透明 感谢 walterlv 大佬提供此方法,我只是代为记录的工具人 以下是一个简单的示例代码,示例代码里面被我忽略掉一些..., handle); XFlush(display); while (XNextEvent(display, out var xEvent) == default) { } 如果运行以上代码,没有看到窗口透明...,开启窗口特效 如果开启之后依然没有透明窗口背景效果,则请调查一下是否 UOS 里默认的 KWin 窗口合成管理器损坏或被替换为其他的窗口合成管理器,查看当前的窗口合成管理器可使用以下命令 sudo apt-get...如输出的字符串里面 compositor 包含的是其他字符串,则请自行了解一下对应的窗口合成管理器是否支持窗口透明或需要进行哪些配置 完全的 Program.cs 文件的代码如下 using System.Collections.Immutable

    1.3K10

    windows菜单增强,窗口置顶、调整透明度、快速截图、一键隐藏窗口等扩展

    SmartSystemMenu 是一款能够扩展系统中所有窗口系统菜单的工具,它会为窗口菜单追加以下自定义功能:image详细信息:显示包含当前窗口及进程信息的对话框,信息包括窗口句柄、窗口标题、窗口风格...隐藏:允许隐藏当前窗口。卷起窗口:将当前窗口向上卷起。毛玻璃效果:为当前窗口添加“毛玻璃效果”模糊(仅 Windows Vista 及更高版本支持,主要用于控制台窗口)。...窗口始终置顶:将当前窗口保持在所有其他窗口之上。更改图标:允许更改当前窗口的图标。更改标题:允许更改当前窗口的标题。窗口置底:将当前窗口保持在所有其他窗口之下。...对齐窗口到:将当前窗口与桌面上的9个位置中的任何一个对齐。透明度:更改当前窗口的透明度。优先级:更改当前窗口的程序优先级。...系统托盘:将当前窗口最小化或挂起到系统托盘。其他窗口操作:关闭和最小化系统中除当前窗口之外的所有窗口。启动:启动设置中的程序。

    1.1K10

    WPF 制作支持点击穿透的高性能的透明背景异形窗口

    默认的 WPF 的支持点击穿透的透明背景窗口,是通过 AllowsTransparency 实现的,但是此方法的性能比较低。...本文来告诉大家一个高性能的方法,通过此方法制作出来的 WPF 窗口可以获取很高的性能,设置透明和设置窗口不透明之间几乎没有性能差别 本文的方法由 少珺 小伙伴提供,我只是代为整理博客。...,而本文是提供了全穿透的功能 默认的 WPF 提供的 AllowsTransparency 的方法,这个方法可以适用在让窗口透明的部分能点击穿透,窗口不透明部分点击不穿透。...而不要使用 AllowsTransparency=True) - walterlv 来实现高性能的,同时通过 WS_EX_TRANSPARENT 设置整个窗口全穿透 因此本文的方法是要么整个窗口透明不穿透...,要么就是整个窗口透明穿透。

    3.7K20

    【Android】设置透明、半透明等效果

    设置透明效果 大概有三种 1、用android系统的透明效果 Java代码  android:background="@android:color/transparent"  例如 设置按钮 Java代码...    android:layout_height="wrap_content"       android:textColor="#ffffff" />   2、用ARGB来控制 Java代码  半透明...//0~255透明度值            android 窗体透明的,黑暗度等的设置技巧 设置透明度(这是窗体本身的透明度,非背景) WindowManager.LayoutParams lp=getWindow...1.0完全不透明,0.0f完全透明 设置黑暗度 WindowManager.LayoutParams lp=getWindow().getAttributes(); lp.dimAmount=0.5f...00--99(透明--不怎么透明), //后6位是颜色的设置 manifest.xml <activity android:name=".TransparentActivity" android:theme

    4.8K40

    Shader-透明效果-透明度混合

    透明度混合相较于透明度测试更加复杂一些,透明度混合可以得到真正的半透明效果,使用当前片元和透明度作为混合因子,与已经存储在颜色缓冲区的颜色值进行混合,得到新的颜色。...透明度混合需要关闭深度写入,这使得我们需要关注物体的渲染顺序。...我们使用Unity的混合指令Blend,想实现半透明的效果就要把当前自身的颜色和已经存在的颜色缓冲中的颜色进行混合,混合时使用的函数就是该指令决定的。...Blend.PNG 相较于透明度测试,代码部分改变,Tags的Queue标签设置为Transparent,RenderType标签让Shader归入提前定义的组,我们通过ZWriteOff关闭深度写入,...AplhaBlendTest.PNG 透明度混合的双面渲染 Cull Back是默认的,背对摄像机的一面不会被渲染 Cull Front 是面向摄像机的不会渲染 Pass{

    2.9K10
    领券