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

c# - 如何将 CanvasControl 的内容保存为图像文件

我正在使用Win2D制作一个类似绘画的程序。MyCanvasControl包含用户绘制的一些文本、图像和一些线条。我想将其全部内容保存CanvasControl为磁盘上的文件(以任何标准图像格式)。我想这样做,因为我想(稍后)在标准Image控件中显示它。

我该怎么做?我尝试使用RenderTargetBitmap加载CanvasControl(下面的代码),但由于某种原因它会剪切图像并且只制作了一个小的水平顶部图像。


0 投票
1 回答
109 浏览

c# - 缩小画布但保持“可见”屏幕比例

我正在制作一个类似于绘画的程序,其中包含一个Canvas和几个形状(用户可以绘制的线条、矩形等)。我希望用户能够在Canvas很大程度上使用捏合手势来放大和缩小它(在合理的范围内,比如比默认大小Width=1000 和Height=1000 小/大 5 倍)。

使用ScaleTransform来自控件的ManipulationDelta. 但我希望它Canvas和以前一样大小;意思是如果Canvas占据了整个屏幕然后用户向内捏,Canvas它的内容应该变小,但Canvas仍然必须占据整个屏幕空间(所以一切看起来更小,但现在用户有更多空间来绘制形状)。

为此,我尝试根据缩放的数量增加Width和。HeightCanvas

你会认为这段代码可以解决问题;我正在通过增加比例来抵消较小的比例尺寸,因此最终结果将是相同的 - 但没有缩小,但/Canvas没有明显的增加。但是,我可以在调试输出中看到高度/宽度值已从默认值 5000 更改为 6000.13~。WidthHeight

谁能告诉我我做错了什么?或者如果有更好的方法来做到这一点?请注意,这Canvas并不是真正的内置的,而是CanvasControl来自 Win2D 的,尽管这无关紧要。

0 投票
1 回答
678 浏览

graphics - 从 Kinect v2 传感器捕获图像

我是 Kinect 开发的新手。我正在使用 Kinect v2 并按照此处找到的 Face Basics 示例创建 Windows 商店应用程序。如果面部被接合,我希望能够捕捉面部图像。但是我无法从 Win2D 捕获图像CanvasControl。我不确定我还能如何捕捉面部图像。

任何人都可以帮助我如何做到这一点?

0 投票
1 回答
493 浏览

c# - Win2D中Vector2类型的绘制方式不一致

我在 Windows 10 中迈出了进入 UAP 世界的第一步。

我正在尝试编写一个使用 Win2D 库在 IoT / R-PI2 设备上显示图形的小应用程序。

我有一个显示单行的绘图方法:

VS2015 社区版。IntelliSense 告诉我,我提供了带有参数“a”和“b”的不兼容的 vector2 类型。它期待 Windows.Foundation.Numerics.Vector2 而不是 System.Numerics.Vector2。

但是,该程序在桌面和 r-pi 上编译和运行都很好。

我的应用程序的一部分基于本教程,其中该方法显然需要System.Numeric.Verctor2参数。

我在另一篇文章中读到,Windows 8.1 和 10 之间的 API 以及这个GitHub 问题已经发生了变化。

我还导入了这篇文章中提到的包,但它没有改变任何东西。

我不知道这篇文章是否与我的问题有关,但至少它提到了这两个命名空间的问题。

为什么 IntelliSense 将此代码突出显示为错误?VS中是否有错误?

我在这里做错什么了吗?

项目:https ://github.com/chrisi/IoTCanvas

一些相关的系统/IDE规范:

  • Microsoft Visual Studio 社区 2015 版本 14.0.23107.0 D14REL
  • Microsoft .NET 框架版本 4.6.00079
  • 安装版本:社区
  • Visual Basic 2015 00322-20000-00000-AA366
  • 视觉 C# 2015 00322-20000-00000-AA366
  • Visual C++ 2015 00322-20000-00000-AA366
  • Windows Phone SDK 8.0 - ENU 00322-20000-00000-AA366
  • 适用于 Visual Studio 包 1.0 的 Application Insights 工具
  • JetBrains ReSharper Ultimate 2015.2 Build 103.0.20150818.200216
  • 微软 Azure 移动服务工具 1.4
  • NuGet 包管理器 3.2.0
  • PreEmptive Analytics Visualizer 1.2
  • SQL Server Compact &SQLite 工具箱 4.3.0
  • 适用于通用 Windows 应用程序的 Visual Studio 工具 14.0.23309.00 d14oob
0 投票
1 回答
745 浏览

xaml - 如何使用 Win2D 创建一个模糊的背景对话框?

我正在使用 Win2D 库,我需要知道如何显示一个不透明的对话框,并在打开时显示模糊的透明背景,如 Windows 10 开始菜单和通知面板。我已经看到很多模糊图像的示例,但我真正想做的是像一个磨砂玻璃对话框。

这里显示了我想要做的一个例子,但我需要它用于 windows 应用程序而不是 wpf。

0 投票
2 回答
167 浏览

c# - Windows 商店应用导航

我正在制作 Pacman Windows 商店应用游戏。我使用 win2d 库制作动画。我在页面之间导航时遇到问题。这是我的主页,它创建了新游戏。

但是在游戏课结束时,我必须以某种方式回到我的主页。我尝试了很多方法,但它们对我不起作用。游戏类:

如何浏览页面?谢谢。

0 投票
1 回答
1584 浏览

c# - 如何将实时高斯模糊效果应用于 UWP 应用程序?

最近在学习UWP,想搭建一个简单的demo,只想生成一个像Aero这样简单的现场模糊效果。它有时很有用(例如实时相机滤镜),所以我提出了这样的想法:

首先我导入了 win2D 库并在 RootGrid 上放置了一个CanvasAnimatedControl

这个模糊层的资源是Frame

并且每次帧更新时,MainFrame_LayoutUpdated方法尝试保存使用 RenderTargetBitmap 的快捷方式,但是 win2D 无法接收此对象作为其 CanvasBitmap,因此将其转换为 byte[] 并保存;

BlurLayer_Draw方法中,只需刷新并应用模糊效果: private void BlurLayer_Draw(ICanvasAnimatedControl sender,

完成所有这些后,它就起作用了。但是这个解决方案真的很糟糕,win2D Canvas 被严重延迟了。那么,我应该怎么做才能让它高性能呢?

0 投票
2 回答
1818 浏览

c# - Win2D CanvasBitmap 与 Microsoft.UI.Composition CompositionImage

编辑:

他们在最后一次构建中删除了 CompositionImage ...


我想知道 Win2DCanvasBitmap和 Microsoft.UI.Composition之间的区别CompositionImage

在这两种情况下,我都能够显示图像,但我真的不知道/理解这两种方法之间的区别。


CanvasBitmap方法:

XAML:

代码:


CompositionImage方法:

XAML:

代码:


有什么不同?最好的方法是什么?

为了把事情放在上下文中,我有一个显示很多小图像的应用程序。我需要应用程序内存不足并快速绘制图像。

谢谢,阿德里安。

0 投票
1 回答
274 浏览

c# - Win2d 模糊在 C++ 中并不总是有效

我正在尝试用 C++ 编写 WP 应用程序,并且在模糊 .png 图像时遇到了一个奇怪的问题。它有时有效,有时无效。当它不起作用时,它看起来好像图像是不可见的。只是为了确保我在 C# 中实现了同样的东西并且它工作得很好。这是我的 C# 代码

在 C++ 中或多或少(我希望)等价

通过按下按钮调用方法。知道可能出了什么问题吗?

0 投票
0 回答
1191 浏览

c++ - 将 IBuffer 转换为字节数组 C++

我搜索了论坛并遇到了这个从 Windows::Storage::Streams::IBuffer 中获取字节数组,但我无法从中得到任何东西。对我来说,这可能有点太令人费解了。

我的问题的症结在于我有一个调用 RenderTargetBitmap->GetPixelsAsync() 的 IBuffer。我现在需要使用此处提供的函数从该数据创建 CanvasBitmap http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_CanvasBitmap_CreateFromBytes.htm

我发现无法将数据从 IBuffer 获取到可以工作的数组中。我找到了一种将数据放入向量的方法

但是从这一点开始,我发现没有办法将它放入数组中。我试图使用如何在 C++ 中将向量转换为数组中的所有想法,但无济于事。任何帮助将不胜感激