问题标签 [windows-composition-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
86 浏览

c# - 使用 XamlCompositionBrushBase 时找不到类

所以我尝试使用 BackdropBrush 和 XamlCompositionBrushBase 创建一个名为 BackdropBlurBrush 的类,但是当我从 XAML 调用它时它没有找到类。我在主项目上创建了这个类。 请参阅此处的错误。

GitHub 上的示例:https ://github.com/vitorgrs/HostBackdrop/

0 投票
1 回答
213 浏览

c# - UWP wincomposition:为多个图像的偏移设置动画

我尝试在一个网格控件中为多个(不同大小的)图像设置动画,但只有最大的一个是动画的。目标属性是“Offset.x”。

辅助方法:

请注意,如果我将第二张图片设为最大,它就会变成动画图片。

关于如何解决这个问题的任何想法?

提前致谢。

0 投票
1 回答
1234 浏览

c# - 轻松上色动画

我一直在关注这个问题来制作彩色动画。

我可以创建动画并且它运行良好,直到动画再次开始。有一刻感觉动画已经开始/停止了一会儿。我希望动画顺利运行,这样它就不会在颜色中显示任何重新启动效果。有可能这样做吗?

我正在使用以下代码:

我在代码隐藏中开始这个动画:

也许有某种“缓动”方法可以混合动画的开始和停止,使其看起来像长时间运行的动画一样流畅。有什么建议么?

0 投票
0 回答
136 浏览

c# - 无法从屏幕截图创建的图像创建投影(捕获)

如果我从屏幕截图创建图像,我的代码可以DropShadowTextBlock图像创建但不能为图像创建它。使用普通图像(图像源已设置)不会出现问题。

我相信问题一定是我从屏幕截图中得到的图像格式(不知何故)。有什么办法可以转换SoftwareBitmap成其他格式或者怎么办?

(要在第一个片段中TextBlock替换Image为进行测试)TextBlock

将屏幕上的任何元素复制到图像的代码

制作阴影的代码

0 投票
1 回答
681 浏览

c# - UWP Composition Api 是否支持颜色替换?

我一直在尝试寻找与颜色替换相关的示例,这是一个使用 Photoshop 的示例,它可以采用例如蓝色阴影并将其替换为红色阴影:

前: 在此处输入图像描述

后: 在此处输入图像描述

这是否可以在最新版本的 Composition Api 中使用合成效果?

我看过与色相旋转和温度和色调相关的示例:

https://xamlbrewer.wordpress.com/2016/04/08/uwp-composition-effects-hue-rotation/

https://xamlbrewer.wordpress.com/2016/04/19/uwp-composition-effects-temperature-and-tint/

但我想知道api是否能够使用效果来切换图像中的颜色范围??

0 投票
1 回答
102 浏览

uwp - 如何在 XamlCompositionBrushBase 中检索父视觉大小?

我正在创建一个从XamlCompositionBrushBase继承类,并且想知道画笔连接到OnConnected.

我需要这些信息来在我的合成中创建一个与我的视觉大小相同的表面,以便不仅具有正确的像素密度,而且还可以将视觉坐标映射到表面空间。

即,如果我有一个坐标50, 75,我需要知道视觉对象的宽度/高度以将表面位置映射到视觉对象上的那个位置。

由于画笔是一个依赖对象,我尝试使用var parent = VisualTreeHelper.GetParent(this);但抛出异常:

System.Exception 发生 HResult=0x8000FFFF
消息=灾难性故障(来自 HRESULT 的异常:0x8000FFFF (E_UNEXPECTED))
来源=

如果不使用父 UIElement 上的附加属性,这可能吗?

谢谢

0 投票
1 回答
252 浏览

uwp - 添加合成光效果后奇怪的不透明度动画行为

因此,我目前正在使用 Windows 组合 API 来创建“淡入”动画,将缩放动画和不透明动画结合到我的自定义控件中,效果非常好。然而,最近我尝试添加一些灯光效果,但由于某种原因,不透明动画不再起作用。

这是它的外观 在此处输入图像描述

如您所见,您可以在没有灯光效果的“淡入”动画期间看到图像。但是一旦你添加了灯光效果,在“淡入”动画完成之前你是看不到它的。一定是合成动画的一些机制,但我只是以错误的方式使用它们。

您可以在此处重现代码

MainPage.xaml(使用您自己的图像):

MainPage.xaml.cs:

我该如何解决?

0 投票
1 回答
313 浏览

uwp - 消除粘性滚动标题中的摆动

当使用组合 api 修复 a 中的元素scrollviewer时,似乎正在进行布局舍入,这会在整个视觉上产生摆动。

虽然以下不是我的代码,但您可以在此处看到类似的效果(查看“粘性标题”一旦粘滞。继续滚动会稍微上下移动。这在查看“H”的水平条时最好看) : 在此处输入图像描述 (取自http://meanme.com/2017/07/11/sticky-header/ )

相关代码与此类似:

我怎样才能消除这种摆动?

0 投票
0 回答
377 浏览

uwp - 是否可以使用 XAML 组合扩展为元素的大小隐式设置动画?

我正在尝试实现元素大小变化的自动动画。我认为Composition和XAML之间存在一些我不完全理解的相互作用。

首先,我尝试使用工具包中的 XAML 扩展:

...并希望它在扩展以容纳更多文本时自动为 TextBox 设置动画。那里没有骰子。然后我尝试将 TextBox 包装在外部网格中,将隐式动画附加到网格中。没变。

接下来,我尝试手动为 TextBox Visual 的 Size 设置动画:

The Parameter is incorrect奇怪的是,这在尝试设置新大小时导致异常。

最后,我尝试改变 TextBoxUIElement的宽度而不是它的视觉宽度:

...也没有动画。

最后,出于挫败感,我尝试为 SCALE 设置动画,做同样的事情:

XAML

C#

...完全按预期工作。当我运行 C# 代码时,TextBox 的比例增加了,并且是动画的。

那么有没有办法通过使用隐式动画来实现UI元素大小变化的自动动画呢?

0 投票
2 回答
249 浏览

xaml - 是否可以将 ColorAnimationUsingKeyFrames 应用于 DropShadowPanel?

我正在使用 UWP,并且正在尝试将使用关键帧的颜色动画应用到 UWP 社区工具包中的 DropShadowPanel。

但到目前为止我还没有成功,我已经能够将 DoubleAnimation 应用于 BlurRadius 属性和 Opacity 属性,但是每次我尝试应用彩色动画时,我的程序都会中断。

我还在我的画布上将颜色动画应用于多边形形状,效果很好,我使用几乎相同的代码,有人可以给我一个提示:

这是我的多边形中的代码,它可以工作:

这是我试图应用于我的 DropShadowPanel 的代码,此代码使 mas 程序在 xaml 级别失败。

希望有人能帮帮我!!!

谢谢!!!