首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 SetWindowCompositionAttribute 来控制程序的窗口边框和背景(可以做 Acrylic 亚克力效果、模糊效果、主题色效果等)

Windows 系统中有一个没什么文档的 API,SetWindowCompositionAttribute,可以允许应用的开发者将自己窗口中的内容渲染与窗口进行组合。...---- 试验用的源代码 本文将创建一个简单的 WPF 程序来验证 SetWindowCompositionAttribute 能达到的各种效果。你也可以不使用 WPF,得到类似的效果。...SetWindowCompositionAttribute 的类型。...ACCENT_ENABLE_BLURBEHIND 可以在 Windows 10 上做出模糊效果,就跟 Windows 10 早期版本的模糊效果是一样的。...---- 在 Windows 10 上,没有使用 WindowChrome: 你可能需要留意一下那个“诡异”的模糊范围,你会发现窗口的阴影外侧也是有模糊的!!!你能忍吗?

1.7K60

Windows 10 应用创建模糊背景窗口的三种方法

三种创建模糊背景窗口的方法 Windows 10 上创建带模糊背景的窗口有三种不同的方法,不过每一种都是既有好处又有坏处的: 调用 Win32 API —— SetWindowCompositionAttribute...使用 Fluent Design System 中的亚克力效果 —— AcrylicBrush。这绝对是 Windows 10 上获得背景模糊效果中视觉效果最好,同时又最省性能的方法了。...---- SetWindowCompositionAttribute API SetWindowCompositionAttribute 并没有那么好调用,所以我为此写了一个辅助类类封装对背景模糊效果的调用...使用这个辅助类,你只需要使用一行代码就能开启背景模糊效果。...当然,我还写了一篇博客专门讲使用 SetWindowCompositionAttribute API 实现背景模糊效果:在 Windows 10 上为 WPF 窗口添加模糊特效(就像开始菜单和操作中心那样

3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在 WPF 程序中应用 Windows 10 真•亚克力效果

    (而不是一些流行的项目里面自己绘制的亚克力效果。) ---- API 需要使用的 API 是微软的文档中并未公开的 SetWindowCompositionAttribute。...我在另一篇博客中有介绍此 API 各种用法的效果,详见: 使用 SetWindowCompositionAttribute 来控制程序的窗口边框和背景(可以做 Acrylic 亚克力效果、模糊效果、主题色效果等...) - walterlv 当然,使用此 API 也可以做 Windows 10 早期的模糊效果,比如: 在 Windows 10 上为 WPF 窗口添加模糊特效(就像开始菜单和操作中心那样) - walterlv...如何使用 为了方便地让你的窗口获得亚克力效果,我做了两层不同的 API: AcrylicBrush 当然,受到 Win32 启用亚克力效果的限制,只能在窗口上设置此属性 WindowAccentCompositor...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    55210

    在 Windows 10 上为 WPF 窗口添加模糊特效(就像开始菜单和操作中心那样)

    本文提供了一个完整的用于在 Windows 10 上实现模糊特效的 C# 类,没有放到 GitHub 也没有其他类型的开源。如果需要直接拿走就好。 ---- ? ? 为什么不推荐使用?...于是微软只好砍掉了背景高斯模糊功能……充满遗憾……被世人唾骂…… 忍受不了世人的咒骂,微软只好再把高斯模糊效果带回 Windows 10。...然而,本文探究的方法并不是 Fluent Design System 中的任何部分。依然是微软不期望大家使用的方法,所以,本文并不推荐大家作为真实项目使用,而是作为一种探究学习的途径。...我封装的 API 为了方便大家使用,我封装了一个小的 API。于是大家可以非常方便地使用。...- Stack Overflow 调用未公开API SetWindowCompositionAttribute 在Win10下开启Aero - CSDN博客 Windows 10 开始菜单的高斯模糊效果是如何实现的

    5.4K30

    使用轮廓分数提升时间序列聚类的表现

    我们将使用轮廓分数和一些距离指标来执行时间序列聚类实验,并且进行可视化 让我们看看下面的时间序列: 如果沿着y轴移动序列添加随机噪声,并随机化这些序列,那么它们几乎无法分辨,如下图所示-现在很难将时间序列列分组为簇...在这种情况下,我们可以使用轮廓分数(Silhouette score),它为执行的聚类分配一个分数。我们的目标是使轮廓分数最大化。...然后,计算每个数据点的轮廓系数 s(i),它定义为:s(i) = \frac{b(i) - a(i)}{\max\{a(i), b(i)\}} 最后,计算整个数据集的轮廓分数,它是所有数据点的轮廓系数的平均值...并不能为任何数量的簇提供良好的轮廓分数。...欧几里得距离与相关廓形评分的比较 轮廓分数表明基于相关性的距离矩阵在簇数为4时效果最好,而在欧氏距离的情况下效果就不那么明显了结论 总结 在本文中,我们研究了如何使用欧几里得距离和相关度量执行时间序列聚类

    44410

    使用uniq命令去除文件中的重复行

    uniq命令全称是“unique”,中文释义是“独特的,唯一的”。该命令的作用是用来去除文本文件中连续的重复行,中间不能夹杂其他文本行。去除了重复的,保留的都是唯一的,也就是独特的,唯一的了。...我们应当注意的是,它和sort的区别,sort只要有重复行,它就去除,而uniq重复行必须要连续,也可以用它忽略文件中的重复行。...语法格式:uniq [参数] [文件] 常用参数: -c 打印每行在文本中重复出现的次数 -d 只显示有重复的纪录,每个重复纪录只出现一次 -u 只显示没有重复的纪录 参考实例 删除连续文件中连续的重复行...Linux 85 Linux 85 [root@linuxcool ~]# uniq testfile test 30 Hello 95 Linux 85 打印每行在文件中出现重复的次数...,且每个纪录只出现一次: [root@linuxcool ~]# uniq -d testfile test 30 Hello 95 Linux 85 只显示没有重复的纪录: [root

    2.1K00

    如何使用模糊算法提高监控软件的性能

    如何才能提高监控软件的性能呢?其实,咱们可以通过模糊算法从各个角度着手,让监控系统变得更聪明更高效。模糊逻辑就是那种对付那些有点儿模糊不太确定信息的法宝,它在解决一些莫名其妙的情况时可是大显身手。...使用模糊算法来提升监控软件性能涉及到多个关键步骤和方法,下面将详细介绍其中的几点:问题建模和定义模糊变量:首先,需要将与性能相关的指标和监控数据转化为适合模糊逻辑处理的形式。...模糊推理引擎:在模糊推理阶段,需要选择适当的模糊推理引擎,如Mamdani或Sugeno,以执行制定的模糊规则。这将依据输入的模糊变量和模糊规则,生成相应的模糊输出。...去模糊化:去模糊化是将模糊输出转化为清晰的数值,这一步骤非常关键。常用的去模糊化方法包括平均值法、加权平均法等,这些方法有助于从模糊输出中获得实际的性能度量值。...像是要不要用模糊化,要不要脱模糊化,还有那一大串模糊规则是怎么定义的,甚至是性能提升的计策要不要来个大调整,这些都是算法剧本中的重要角色。

    14520

    pandas中使用excel的模糊匹配通配符,真香

    前言 在 pandas 中,实现如下的模糊匹配统计,要怎么做? 简单: 因为在 pandas 中可以把筛选和统计两种逻辑分开编写,所以代码清晰好用。...问题在于pandas 中要实现模糊匹配,只能使用正则表达式或某种具体的函数。...在 excel 中有一类可以模糊匹配的统计函数,比如 sumifs 、 countifs 等,它们可以使用通配符实现模糊匹配统计。之前的 excel 公式: 问号 ?...表示1个任意的字符,星号 * 表示任意个数(0、1、或n)的字符 对比来看,这可以直接在字符串中表达出 pandas 中的 startswith , endswith , contains 这种直接在字符串中表达模糊匹配规则...应用到 pandas 的 series.str.match 函数即可: 不过,每次都这样子调用很啰嗦。可以封装到一个函数里面: 现在可以使用:

    1.8K20

    转:如何使用模糊算法提高监控软件的性能

    如何才能提高监控软件的性能呢?其实,咱们可以通过模糊算法从各个角度着手,让监控系统变得更聪明更高效。模糊逻辑就是那种对付那些有点儿模糊不太确定信息的法宝,它在解决一些莫名其妙的情况时可是大显身手。...使用模糊算法来提升监控软件性能涉及到多个关键步骤和方法,下面将详细介绍其中的几点: 问题建模和定义模糊变量:首先,需要将与性能相关的指标和监控数据转化为适合模糊逻辑处理的形式。...模糊推理引擎:在模糊推理阶段,需要选择适当的模糊推理引擎,如Mamdani或Sugeno,以执行制定的模糊规则。这将依据输入的模糊变量和模糊规则,生成相应的模糊输出。...去模糊化:去模糊化是将模糊输出转化为清晰的数值,这一步骤非常关键。常用的去模糊化方法包括平均值法、加权平均法等,这些方法有助于从模糊输出中获得实际的性能度量值。...像是要不要用模糊化,要不要脱模糊化,还有那一大串模糊规则是怎么定义的,甚至是性能提升的计策要不要来个大调整,这些都是算法剧本中的重要角色。

    15420

    广告设计中的“虚实”对比——使用“径向模糊”

    前言:学生们在学习ps软件的过程中非常的认真与努力,所以对于软件的使用可以说已经很熟练了,可是为什么当我们给学生安排一些原创设计需求的时候,学生却有种无从下手的感觉呢,究其原因就是学生在创新制作这方面的技巧和方法学得不够...,所以下面我给大家分享一个案例,目的是为了能让大家在设计制作方法方面能有一定的了解和提升。...具体操作步骤: 1、为素材添加滤镜 -> 模糊 -> 径向模糊 ? 2、注意:将径向模糊菜单中的中心移动至照片中汽车的位置,在“智能滤镜”蒙板中用画笔涂出汽车 ?...上述操作步骤的发布,旨在帮助大家对上述设计方法及技巧有所了解。因为课余时间有限,文字内容及语言组织没花太多时间,说是教程有些牵强,算一个案例分享吧。希望大家看过我的案例分享后能有所收获。...如果大家喜欢哪类效果,还想看哪方面的哪类型的设计制作案例可以留言给我,有时间我一定会分享更多设计制作相关的内容给大家的。谢谢!

    1.1K70

    广告设计中的“虚实”对比——使用“高斯模糊”

    前言:学生们在学习ps软件的过程中非常的认真与努力,所以对于软件的使用可以说已经很熟练了,可是为什么当我们给学生安排一些原创设计需求的时候,学生却有种无从下手的感觉呢,究其原因就是学生在创新制作这方面的技巧和方法学得不够...,所以下面我给大家分享一个案例,目的是为了能让大家在设计制作方法方面能有一定的了解和提升 1、首先准备广告素材 ?...2、将素材置入psd文件,握手机的素材放在画面中间 ? 3、复制场景照片,贴在手机屏幕内,再复制一层设置“滤色”,背景照片做“高斯模糊”,如下图 ?...4、最后加入文案,也可以尝试不同的版式方案,如下图 方案 1 ? ? 方案 2 ? ? 上述操作步骤的发布,旨在帮助大家对设计方法及技巧有所了解。...希望大家看过我的案例分享后能有所收获。如果大家喜欢哪类效果,还想看哪方面的哪类型的设计制作案例可以留言给我,有时间我一定会分享更多设计制作相关的内容给大家的。谢谢!

    99880

    避免在 TypeScript 代码中使用模糊的 Object 或 {}

    避免 TypeScript 代码中使用模糊的 Object 或 {}在 TypeScript 的世界里,当我们期望一个对象但不确定对象的具体结构时,通常会使用 Object 或 {} 作为类型。...让我们深入探讨一下,看看为什么在 TypeScript 代码中使用这些模糊类型可能是时候慎重考虑了。...理解使用 Object 或 {} 的问题当我们有一个 TypeScript 变量存储任何对象,但对对象的结构不确定时,我们经常使用 Object 或 {} 这样的类型,如下所示:type Param =...通过寻找替代方案,我们可以为更加平稳、可预测的代码铺平道路。解决方案1:使用 Record我们可以在 TypeScript 中使用 Record 来解决这个问题。...假设我们想要为键使用字符串类型,为值使用未知类型,那么我们可以定义我们的参数类型为:type Param = { [index: string]: unknown}注意:这里的 index 只是一个占位符

    16100

    【项目实战】去除繁琐的if..else 优雅使用策略模式

    因此使用策略模式来消除掉if else。 策略模式是一种解耦的方法,它对算法进行封装,使得算法的调用和算法本身分离。...使用策略模式客户端代码不需要调整,算法之间可以互相替换,因为不同的算法实现的是同一个接口。...类 /** * @Classname AbstractDataScopeHandler * @Description 创建抽象策略角色 主要作用 数据权限范围使用 * @Author Created by...通过这个,就可以看到通过在不同的类型获取不同部门ids,可以自动的拿到不同的资源。 使用策略模式的好处就是通过一个封装的上下文可以自由的切换不同的算法,省去多重判断,同时可以具有很好的扩展性。...当策略过多的时候就会显得很臃肿,建议大家合理的运用设计模式 具体的项目实战可以参考我的开源项目进行理解: ? ? 项目地址: https://gitee.com/li_haodong/pre

    1.1K20

    干货 | 使用FFT变换自动去除图像中严重的网纹

    最近买了一本《机器视觉算法与应用第二版》书,书中再次提到该方法:使用傅里叶变换进行滤波处理的真正好处是可以通过使用定制的滤波器来消除图像中某些特定频率,例如这些特定频率可能代表着图像中重复出现的纹理。...在网络上很多的PS教程中,也有提到使用FFT来进行去网纹的操作,其中最为广泛的是使用PS小插件FOURIER TRANSFORM,使用过程为:打开图像--进行FFT RGB操作,然后定位到红色通道,选取通道中除了最中心处的之外的白点区域...针对这一幅,我曾尝试在PS中用其他的方法来去背景纹理,可是一般去网的同时也把相片模糊了,只有FFT去网纹插件能完美去掉相片的网纹而且不损伤画质。   ...第五步的中值,或者可以用其他模糊来代替,也是有点必要的,对于有些图像,经过前面的处理后,有些核心的线(垂直或者水平方向)也被标记为黑色的了,正在处理完成的图像中会带来原本没有的新条纹。 ? ? ?...可以看出,虽然能再一定程度上去除网纹,但是也就有一些去除的不完全,这主要还是因为自动提取的滤波器还是不够准确,要想获取更为理想的结果,必须手动的予以修缮。

    4.3K40

    使用 Elasticsearch 的 NGram 分词器处理模糊匹配

    接到一个任务:用 Elasticsearch 实现搜索银行支行名称的功能。大概就是用户输入一截支行名称或拼音首字母,返回相应的支行名称。...比如,用户输入"工行"或者"gh",我需要返回"工行XXX分行"类似这样的结果。 我心里嘀咕着:数据库不是支持通配符查询吗?为什么不直接用数据库查询? 说归说,但是任务还是要完成的。...(trigram): [ qui, uic, ick ] Length 4 (four-gram): [ quic, uick ] Length 5 (five-gram): [ quick ] 若要使用...NGram 分词器作为某个字段的分词器,可在索引创建时指定,也可以更新映射关系,以下展示如何在索引创建时指定 NGram 分词器。...analyzer 被指定为 ngram_analyzer,这个字段的查询就都会变成通配符查询,无论是 term 还是 match。

    2.7K60
    领券