.net 将awesomium屏幕截图转换为流

.net 将awesomium屏幕截图转换为流,.net,awesomium,.net,Awesomium,以下是我如何制作awesomium屏幕截图: webView2.Render().SaveToPng("filePath"); 问题是我现在不需要将字节保存到文件中,而是将它们保存到内存中。如何实现这一点?文档中说明了一个名为的属性,该属性返回原始像素数据(作为一个属性)。 如果仍然需要字节数组,可以使用将数据复制到字节数组中。通过这种方式,您无需临时文件即可完成此操作。文档中说明,该文件具有一个名为的属性,该属性返回原始像素数据(作为一个文件)。 如果仍然需要字节数组,可以使用将数据复制到字

以下是我如何制作awesomium屏幕截图:

webView2.Render().SaveToPng("filePath");

问题是我现在不需要将字节保存到文件中,而是将它们保存到内存中。如何实现这一点?

文档中说明了一个名为的属性,该属性返回原始像素数据(作为一个属性)。
如果仍然需要字节数组,可以使用将数据复制到字节数组中。通过这种方式,您无需临时文件即可完成此操作。

文档中说明,该文件具有一个名为的属性,该属性返回原始像素数据(作为一个文件)。
如果仍然需要字节数组,可以使用将数据复制到字节数组中。通过这种方式,您无需临时文件即可完成此操作。

API似乎不提供占用流的重载,但您始终可以保存到临时文件并将文件加载到
内存流中:

string fileName = Path.GetTempFileName();
webView2.Render().SaveToPng(fileName);
byte[] bytes = File.ReadAllBytes(fileName);
File.Delete(fileName);
MemoryStream ms = new MemoryStream(bytes);

API似乎没有提供获取流的重载,但您始终可以保存到临时文件并将文件加载到
内存流中

string fileName = Path.GetTempFileName();
webView2.Render().SaveToPng(fileName);
byte[] bytes = File.ReadAllBytes(fileName);
File.Delete(fileName);
MemoryStream ms = new MemoryStream(bytes);

我不确定如何获取目标字节数组的长度这是正确答案,您可以通过将RenderBuffer.Rowspan乘以RenderBuffer.Height来确定目标缓冲区的字节大小。我不确定如何获取目标字节数组的长度这是正确答案,通过将RenderBuffer.Rowspan乘以RenderBuffer.Height,可以确定目标缓冲区的大小(以字节为单位)。