问题标签 [win2d]

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 投票
0 回答
48 浏览

windows - CreateEffectFactory 中的 WindowsUI 组合 OriginateException

我从 Win2d 库中在我的应用程序中抛出了很多异常,我试图在加载事件上对元素的背景应用模糊。

堆栈跟踪: https ://1drv.ms/t/s!Ag5-nrX1qf58s6ZrQtwxHXl50oMulQ

0 投票
0 回答
586 浏览

c# - 通过渲染三角形进行 Win2D 绘图 - 性能不佳问题

我想用 Win2D 库创建绘图。我已经完成了,但是当我想重绘更大的图纸时遇到了一些性能问题。这是我用来显示绘图的解决方案:

主要问题在于这一行:

创建大约 100 000 个多边形需要大约 6000 毫秒,这是令人难以置信的长时间。

你知道在 Win2D 中渲染大量三角形的更快方法吗?

我应该在 C++ 中创建多边形并将它们包装到 C# 或其他东西吗?

感谢您重播。

0 投票
0 回答
61 浏览

c# - 隐式动画 UWP 中的人工制品

我的 ImplicitAnimation 有问题。当网格上升时,一切看起来都很好,但是当 CloseButton_Click 方法运行并且网格下降时,像Artefacts图像中的那些人工制品。有谁知道如何修理它?我会感激每一个想法。

我的代码如下所示:

OffTopic:稍后,我想将此动画与 GaussianBlurEffect 连接起来。有可能做到吗?你对我有什么建议吗?我也会感激不尽。

0 投票
1 回答
747 浏览

c# - 将 Windows Ink 保存为透明 PNG 图像 - 缺少荧光笔描边

我正在尝试将 Windows Ink 包含在 UWP 应用程序中,并首先调整Windows Ink 教程应用程序以将绘制的笔画保存为 PNG 图像(而不是 GIF / ISF)。

因此,XAML 视图包含 aWindows.UI.Xaml.Controls.InkToolbar和 a Windows.UI.Xaml.Controls.InkCanvas,我可以在 Canvas 上绘制笔画并通过以下代码将其保存为图像文件:

到目前为止一切正常。现在,我想用透明背景保存图像,并更改了以下行:

即使在这种情况下,文件也会被保存,背景是透明的,并且圆珠笔笔触和铅笔笔触都被正确渲染 - 但图像结果不包括使用荧光笔工具绘制的任何笔触。

有人可以解释为什么在这种情况下省略了这些笔画吗?是否有可能以某种方式在透明背景上渲染荧光笔笔触?

0 投票
2 回答
991 浏览

animation - Win2D中如何旋转矩形

我正在寻找一种使用 Win2D 围绕其中心点旋转矩形图像(或任何图像)的方法。

此片段来自 Win2D 画布的 OnDraw 方法:

这种方法使我的图像旋转了 60 度,但图像最终被绘制在错误的坐标处,倾斜并且比预期的图像小。

有趣的是,如果我将矩形的大小更改为正方形(使高度与宽度相同),则图像不再倾斜。

黄色十六进制超过红色十六进制

在考虑了更多之后,这就是正在发生的事情: 实际发生

因此,黄色矩形代表我想要(在中心)旋转 60 度的图像。固定在左上角的红色矩形是我旋转它时发生的事情。大蓝色框是由 image.GetBounds 语句确定的新矩形。

当我尝试将图像绘制回原始坐标时,您可以从右侧图像中看到它导致图像倾斜和缩小,因为源矩形不再与目标矩形具有相同的大小或形状。

如果我的几何技能更好,我肯定可以计算出新矩形的边界并将它们应用到画布上的正确位置。但唉,对我来说,距离高中数学已经太多年了。在一次性计算中,我确信我可以弄清楚 - 但不是在源图像的形状可能发生变化时。

0 投票
0 回答
161 浏览

c# - 可以调整 Win2D 中的 CanvasVirtualControl 以使较小的区域无效吗?

CanvasVirtualControlraises时RegionsInvalidated,它会提供屏幕上可见的区域列表:

它返回的区域列表通常有一个大的和一两个小的。我理解它为什么这样做,但是无论如何告诉控件使用较小的最大位图大小,这样它最终会给我 4 个中等区域?

例如,当控件第一次加载时,它会引发RegionsInvalidated以下区域:

一个大区域和另一个小区域,因为它知道我的 GPU 不允许大于 2000x2000 的位图(例如)。我想知道是否有一种方法可以覆盖它并告诉控件最大为 500x500,以便它返回如下结果:

0 投票
1 回答
99 浏览

uwp - UWP/Win2D - 加载画布资源时应用程序崩溃

我无法确定这一点,但看起来我的应用程序正在崩溃,因为我的资源加载时间过长。

我相信它来自我对 CreateCanvasResourcesAsync 的调用

我正在加载大约 200 个位图,总大小约为 4MB。

有没有其他人经历过这个?如果是这样,您是否提出了解决方法?

我发现一些文章提供了在运行时加载所需资源的建议,但它们似乎不适合我遇到的问题。

0 投票
1 回答
50 浏览

c# - 直接应用于文件和 UIElement 时,Win 2D 会产生不同的效果级别

我在图像文件(存储文件)和直接在 UIElement - 图像(这是一个 XAML 图像)上应用 Win2D 高斯模糊,我看到对于 BlurAmount 的相同值,我得到不同的存储文件输出输出和XAML 图像..

原始图像

在此处输入图像描述

100% 模糊应用于 XAML 图像(或任何 UIElement)时的输出

在此处输入图像描述

将 100% 模糊应用于存储文件时的输出

在此处输入图像描述


相关代码:

对于图像文件

对于UIElement(XAML 图像)

问题:这是预期的行为吗?如果是,我怎样才能使两种情况具有相同的输出?如果没有,我做错了什么?

0 投票
0 回答
85 浏览

c# - C# UWP/Win2D 图像增量

假设我有一个 256x256 的源图像,以及其他几个 256x256 的图像,我想以编程方式将其与它进行比较,以查看哪个最接近源图像。在软件渲染中,我会比较从源到相应目的地的每个 x/y 像素的 RGB,并计算欧几里德距离的总和,以找出哪个总和最小。这当然非常慢。

在 Win2D 中有更快的 GPU 加速方式吗?

0 投票
1 回答
157 浏览

canvas - win2d 图像平铺在 UWP Scrollviewer 中不起作用

我正在尝试在滚动查看器中使用 win2d 平铺图像。这是我到目前为止的代码:

使用此代码,我的图像会打印到画布上,但是当我尝试滚动时,图像不会移动(即,平铺图像的同一部分始终可见,即使在滚动时也是如此)。关于如何让图像相应滚动的任何建议?

编辑:这是我的 XAML 代码:

谢谢!