我正在尝试创建位图图像,并具有以下代码:
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(uielement);
IBuffer pixels = await renderTargetBitmap.GetPixelsAsync();
. . .
var pixelArray = pixels.ToArray();
为了获得ToArray()
延期,我遇到了这个问题。所以我补充说:
using System.Runtime.InteropServices.WindowsRuntime; // For ToArray
到我的代码。但是,当我运行时,我收到以下错误:
抛出异常:System.Runtime.WindowsRuntime.dll 中的“System.ArgumentException”
附加信息:指定的缓冲区索引不在缓冲区容量内。
当我深入研究细节时,它在堆栈跟踪中说:
在 >System.Runtime.InteropServices.WindowsRuntime.WindowsRuntimeBufferExtensions.ToArray(IBuffer 源,UInt32 sourceIndex,Int32 计数)在 >System.Runtime.InteropServices.WindowsRuntime.WindowsRuntimeBufferExtensions.ToArray(IBuffer 源)
这种提取像素阵列的方法是否仍然适用于 UWP?如果是,有什么方法可以从此错误消息中获取更多详细信息?