问题标签 [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 投票
1 回答
206 浏览

c# - winrt应用程序中win2D的内存问题

我正在使用 win2D 进行图像效果,因为当我们使用 Windows 应用程序时内存不断增加并导致崩溃。

参考:http ://www.nuget.org/packages/Win2D

请让我知道如何处理内存泄漏。

0 投票
1 回答
623 浏览

windows-runtime - 如何在 CreateResources 期间获取 Win2D CanvasBitmap 的宽度和高度?

我有一些使用Win2D的简单 XAML :

在该MainCanvas_CreateResources(CanvasControl, CanvasCreateResourcesEventArgs)方法中,我想测试CanvasBitmap的边界,并在必要时旋转它。为此,我需要调用CanvasBitmap.GetBounds。但这需要一个CanvasDrawingSession。一旦我进入 CanvasControl 的 Draw 事件,我就没事了,因为 CanvasDrawEventArgs 有一个 DrawingSession 属性。但是,当我设置资源时,我如何找出 CanvasBitmap 的边界,或者如果这不可能,我将使用什么结构来找到底层位图的边界?

0 投票
0 回答
106 浏览

bitmap - 将 1 位黑白位图保存到 WinRT 中的流

我正在使用 Win2D 允许用户在 Windows 通用应用程序中用手指在 1 位黑白位图上绘画。当用户接受他们的更改后,我需要将它们上传到 Azure blob 存储,希望使用与UploadFromStreamAsync方法等效的 WinRT。

在更广泛的 .Net 框架中System.Drawing.Imaging.PixelFormat包括成员Format1bppIndexed,非常适合存储一位位图。但在 WinRT Windows.Graphics.Imaging.BitmapPixelFormat中只包含值

  • 未知
  • RGBA16
  • RGBA8
  • Bgra8

附带条件(来自Windows.Graphics.Imaging.Bitmapencoder.SetPixelData)“设置 Unknown 的像素格式将导致失败”。

(注意,我的代码中有位图作为 Win2D Microsoft.Graphics.Canvas.CanvasBitmap。)

如何保存 1 位位图以在 WinRT 中流式传输?

0 投票
2 回答
2544 浏览

c# - Win2D中如何计算一段文字的大小

我正在使用 Win2D 为 Windows 10 编写一个应用程序,我正在尝试绘制一个动态缩放的形状以适应其中的任何文本。

我想做的是计算给定 CanvasTextFormat 的特定字符串有多大,然后用它来设置形状的大小。

我的问题是我似乎无法找到一种方法来计算字符串的大小?

0 投票
2 回答
352 浏览

c# - Windows Phone 运行时:RendertargetBitmap/IBuffer 到 Base64,反之亦然

我目前正在尝试将从 RenderTargetBitmap 获得的 IBuffer 转换为 Base64String,反之亦然。我在 Silverlight 中成功地做了类似的事情,但现在在 Windows 运行时中缺少很多库,我不知道现在该尝试什么。

下面是我最新的示例代码,它不会产生任何错误,但是当我尝试运行它时它会让我的应用程序崩溃。有什么建议么?

提前致谢

imageBox 是一个 XAML 元素,用于检查转换是否成功

编辑:这段代码我没有例外,应用程序只是冻结

0 投票
1 回答
290 浏览

windows - 如何使用几何在 Win2D 中修剪文本

我知道 Win2D 允许您在特定矩形内绘制文本,并且您可以对其进行设置,以便剪切不在该矩形内的文本,使其不被绘制。

我想知道是否可以不仅使用矩形,还可以使用任何几何(可能包括曲线)来做到这一点

我得到的矩形剪裁:

在此处输入图像描述

我想要什么(被带有弯曲底部的白色圆角矩形剪裁):

在此处输入图像描述

0 投票
0 回答
170 浏览

visual-studio-2013 - 如何将 Win2D 模糊效果应用于图库中的图片?

我一直在寻找模糊图像的东西,我找到了 Win2D 和诺基亚 Lumia Sdk。我想使用 Win2D 来模糊图像。但我无法将图库中的图片分配给 [CanvasBitmap][1]。我只想从图库中选择一个图像并使用 Win2D 应用模糊效果。我试过这个 [tutorial][2] 但我无法分配我自己的图像,它给出了一个错误:

0 投票
1 回答
2037 浏览

c# - UWP:基于ScrollViewer计算变换

我有一个 Windows 通用应用程序,我在其中使用 DirectX 渲染场景。我想使用 Scrollviewer,因此我在 Scrollviewer 后面渲染我的场景,并希望根据 Scrollviewer 计算场景转换。到目前为止它工作正常,尤其是翻译和滚动。但是当我放大时,场景会在两种特殊情况下跳跃:

  1. 场景有足够的空间并且居中,现在需要滚动。
  2. 反方向。

我或多或少使用以下代码:

你可以在这里得到一个例子:https ://github.com/SebastianStehle/Win2DZoomTest

为了确保我的眼睛没有被打破,我正在四处放大并将翻译和缩放值写入文件。在这里你可以看到它:

https://www.dropbox.com/s/9ak6ohg4zb1mnxa/Test.png?dl=0

列的含义如下:

第 1 列:变换矩阵的计算缩放值 (M11) = ScrollViewer.ZoomFactor 第 2 列:矩阵的计算 x 偏移量(见上文) 第 3 列:矩阵 * 向量 (500, 500) 结果的 x 值,这里:列 1 * 500 + 列 2

您会看到,矩阵值看起来不错,但是在应用转换时,您会在几毫秒内向右跳动。一种理论是,视口可能会因为滚动条变得可见而改变。但这种情况并非如此。我还在这里尝试了固定值,使滚动条可见,甚至为滚动查看器创建了一个自定义模板,根本没有滚动条。

顺便说一句:这是一个交叉帖子,我在这里也问过这个问题:https ://github.com/Microsoft/Win2D/issues/125

0 投票
1 回答
236 浏览

vb.net - VB.Net 使用 Win2d 在后台任务中制作图像

依赖:Win2D

我正在尝试从后台任务生成 Livetile 图像。但是,生成的 PNG 文件看起来只是透明的,根本没有绘制单个点。

因此,我将重要的代码简化如下进行测试,但结果没有改变。

我进口Microsoft.Canvas.Graphics(+Effects,+Text)的,

该文件已创建,但它既没有填充红色也没有填充蓝色。根本没有文字。它是透明的,只有 150x150 像素的画布。

代码有问题吗?或任何其他原因?

非常感谢!

0 投票
2 回答
577 浏览

win2d - 如何从画布控件(win2d)获取绘图会话

在win8应用程序中,如何从canvascontrol(win2d)中获取绘图会话,或者,如何通过canvasControl_Draw函数在canvascontrol上绘制图像。