问题标签 [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.
c# - 防止清除 Win2D 动画画布
我想保留最后绘制的帧以在其上CanvasAnimatedControl
绘制。
是否有内置功能可以做到这一点,或者我必须使用双缓冲。
我想用win2d实现这个。
c# - 从 Windows.UI.Color 转换为 System.Numerics.Vector4 的正确快速方法
我应该如何从 Windows.UI.Color 转换为 System.Numerics.Vector4?
Colors.White
应该是Vector4.One
,但对于其他颜色?我需要这个,因为 Win2D 的方法CanvasSpriteBatch.DrawFromSpritesheet
接受 Vector4(色调)作为颜色参数。
我认为该功能可能是:
c# - CanvasSpriteBatch、Begin/End 方法用相同的 SpriteBatch 绘制大量精灵
我编写了一个简单的类来管理位图的绘制。
这是实现的好方法吗Begin()
-End()
从不同对象绘制多个精灵的方法(如在 XNA 的 omonime 方法中)?
我知道这很简单,但这只是出于“爱好”的目的。
如果您不想为每个绘制的实体创建一个新的 SpriteBatch 对象,我认为这种方法是一种改进,例如当您以这种方式绘制对象时:
c# - 为什么这个简单的 C# UWP Win2D 程序偶尔渲染图片失败
嗨,我的第一篇文章,所以请温柔:)
我编写了这个简单的 C# UWP Win2D 程序,它有时会随机无法在屏幕上渲染图像。该程序在大约 90% 的时间内运行没有问题,并且它应该渲染图像,但奇怪的是,它时不时地无法渲染它。
当它失败时,它仍然将画布清除为正确的颜色,但它不会渲染任何其他内容。该程序似乎运行正常,但是当我在 draw 方法或 update 方法上放置一个断点时,不会发生中断。
'Break all' 确实破坏了程序,但它告诉我“您的应用程序已进入中断状态,但没有代码可显示,因为所有线程都在执行外部代码(通常是系统或框架代码)”
我希望这能解释我目前面临的情况,我已经包含了导致这个问题的代码,希望比我更有知识的人可以帮助我找到补救措施。
这是我的 XAML 代码...
这是背后的 C# 代码...
提前感谢您提供的任何帮助,如果需要更多信息,请告诉我。
编辑 1.) 我试图通过删除来简化问题
args.TrackAsyncAction(Canvas_CreateResourcesAsync(sender).AsAsyncAction());
和
async Task Canvas_CreateResourcesAsync(CanvasAnimatedControl sender)
{
bitmap1 = await CanvasBitmap.LoadAsync(sender, "Assets/Images/testimage.png");
}
并更换
args.DrawingSession.DrawImage(bitmap1, 256, 256);
和
args.DrawingSession.DrawCircle(256, 256, 128, Colors.Black, 16);
这似乎可以防止问题发生,所以我只能假设这是我正在使用的异步模式的问题。
memory-leaks - Application Insights 在 Win2D 游戏中导致不必要的 GC
所以我正在开发一个 Win2D 游戏,并注意到偶尔会跳过一些帧。我以为是 GC,所以我拍了几张内存快照来看看发生了什么。在解决了我的部分问题并在游戏开始时分配了所有内存后,我注意到在游戏过程中仍在创建大量Task<IReadOnlyList<Windows.Storage.StorageFile>>对象。这也发生在一个空的通用应用程序项目中,环顾四周后,我发现默认情况下启用了 Application Insights 并导致了这一切。
我对 Application Insights 了解不多,但它似乎很不错。所以我的问题是:我是否仍然可以使用 Application Insights 但阻止它创建所有这些任务对象并访问文件系统?
c# - 如何使用 Win2D 模拟 DeviceLost 事件?
我有CanvasControl
一个 UWP 应用程序,我注意到当我将 Surface 单独放置一段时间并自动进入睡眠状态时,CanvasControl
恢复后不再工作。先前绘制的位图现在是空白的。
我尝试在 Visual Studio 2015 中模拟挂起/恢复,但这似乎不会导致问题。它恢复正常。
我感觉它与CanvasDevice.DeviceLost
事件有关,尽管我通过事件来管理它,但我CanvasControl.CreateResources
找不到轻松测试它的方法。
我尝试了以下方法:
有没有办法以编程方式调用CanvasDevice.DeviceLost
事件?我怎么能伪造它?
c# - Win2D 库:CanvasImageBrush 使用 Canvas 坐标绘制?
G'day伙计们,
我已经开始探索 Windows 10 UAP 应用程序的 Win2D 库。
我正在绘制一个椭圆并使用先前定义的 CanvasImageBrush 填充它。看起来用作填充的坐标是基于绘制椭圆的屏幕坐标。
换句话说,左上角的椭圆看起来不错,但在页面的其他地方,椭圆被黑色填充。我将 ExtendX 和 ExtendY 属性设置为“Wrap”来测试我的假设,并且绘制的椭圆就像暴露了画笔使用的平铺图像一样。
我附上了一个截图来显示行为。用于创建 CanvasImageBrush 的图像是一个包含三角形的 162x148 矩形。
由于我无法想象这是预期的行为,我一定是在做一些愚蠢的事情。如果有人能指出什么,我将不胜感激。
这是代码
xaml - UWP 10 RenderTargetBitmap UWP 10 中 UIElement 的裁剪区域
如何裁剪 RenderTargetBitmap?相当于:
这个问题似乎很简单,但似乎没有真正的方法。以上在语义上总结了我的用例。我想渲染Xaml 树的一部分。这是一个完全合法的用例。
保存到文件,这似乎是最常见的裁剪方式,确实不是一个好的答案。当然,也许有一天我会将裁剪的图像保存到我的媒体库中,但不是今天。