问题标签 [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.
uwp - 如何在不使用动画(Composition Api)的情况下设置属性?
问题,我们如何在不使用动画的情况下为 Visual 上的属性设置值?例如,这对我有用(对于翻译),但我觉得必须有更好的方法。我正在使用 1 毫秒的动画来立即设置一个值:
uwp - 合成 - 为什么我的元素会立即在我的动画上设置模糊?
我的示例应用程序有以下 Xaml 来演示该问题:
这是我的代码隐藏:
当应用程序运行时,它应该等待 1.5 秒,然后开始模糊图像。但是,当您运行代码时,图像上已经设置了初始模糊(轻微模糊)。有谁知道为什么?
uwp - 如何在给定 FrameworkElement 的情况下检索 CompositionEffect?
我正在尝试使用链式效果并将其设置在 Image 控件(TestImage)上,如下所示:
我的目标是稍后检索该效果,以便我可以读取该效果的一些值。如何仅使用 TestImage 控件和合成层获得效果?
uwp - 我无法让我的投影矩阵为旋转动画提供正确的视角
我m trying to replicate a plane projection rotation in UWP using the composition api. But I'm having trouble with a projection matrix in my composition code. Here
就是我所拥有的:
所以上面的这段代码将沿 Y 轴旋转。在下面的 gif 中,您会看到我在另一个由 PlaneProjection 驱动的动画之上制作了动画以进行比较:
两者的“视角”都很好,都在中间。现在让我们更改这行代码以将其切换为 X 轴上的旋转:
现在注意下面的 gif:
合成动画似乎以更向右而不是完全居中的视角旋转。我的投影矩阵需要改变吗?
uwp - UWP 组合 API:圆角?
我正在努力想办法使用 Composition API 创建内容的圆角。这是我所在的地方,任何帮助将不胜感激:
uwp - 为 CompositionClip 使用复杂路径
Visual
UWP/WinUI 中的 s 可以Clip
对它们应用一个CompositionClip
. 其中一种类型CompositionClip
是 a GeometricClip
,它可以具有Geometry
从类派生的各种类型CompositionGeometry
。我正在寻找一个具有圆角矩形形状但具有不同椭圆角半径的剪辑,如下所示
这将非常适合,CompositionRoundedRectangleGeometry
但该类有一个限制,即它支持在所有四个角上具有相同的椭圆半径,不允许不同的半径。所以剩下CompositionPathGeometry
的Path
就是由一个CompositionPath
实例定义的。这是我走到了死胡同的地方。
这CompositionPath
实现了IGeometrySource2D
接口。我不知道如何使用这个IGeometrySource2D
界面来构造一条带有线条和曲线的复杂路径。在线搜索导致这篇文章也避开了使用该接口,而是使用围绕CanvasPathGeometry
它构建的类Windows Community Toolkit
,如果我理解正确,仅适用于C#
根据此GitHub 页面的项目,并且对我不起作用,因为我需要一些东西在 C++ 中。
所以问题是:
- 我们如何使用
IGeometrySource2D
和CompositionPath
创建复杂的形状?如果不可行,那么 - 语言投影有什么等价
CanvasPathGeometry
物吗?C++/WinRT
PS我知道WinUI 3提供RectangleClip
(根据this answer)适用于我的情况,但在UWP中不可用,所以这对我来说不是一个可行的解决方案。
编辑:
Win2D.UWP
根据评论中共享的建议/指针,这是使用 NuGet 包的尝试。
这似乎有效
现在,下一步将努力删除对et al的Win2D
依赖,并使用其他接口来提供,因为我不希望将 NuGet 包作为项目依赖。CanvasPath
ID2D1Geometry
IGeomterySource2D