首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从CapturePreviewAsync流保存图像?

如何从CapturePreviewAsync流保存图像?
EN

Stack Overflow用户
提问于 2022-01-15 03:17:41
回答 1查看 741关注 0票数 0

我对Async不太了解,但是在运行它时没有错误,而且我在C:\temp\test.jpg中也没有得到一个映像--我做错了什么?

代码语言:javascript
复制
Private Sub WebView22_Click(sender As Object, e As EventArgs) Handles WebView22.Click
    grabpic()
End Sub

Public Async Function grabpic() As Threading.Tasks.Task
    Dim ms As System.IO.Stream
    Await (WebView22.CoreWebView2.CapturePreviewAsync(CoreWebView2CapturePreviewImageFormat.Jpeg, ms))
    Dim file As New System.IO.FileStream("C:\temp\test.jpg", IO.FileMode.Create)
    ms.CopyTo(file)
    ms.Close()
End Function
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-15 03:55:12

您的代码有几个问题:

  1. 您没有等待graphics()函数,因此异常正在被静默吞没。另外,我也不确定是什么触发了Click控件的WebView2事件(假设它实际上可以被触发)。因此,您可能应该使用按钮单击来测试,例如.

  1. 您根本没有初始化ms,这将导致NullReferenceException。您可能希望创建一个MemoryStream.

实例

  1. ,您在写入流后调用ms.CopyTo。此时,当前位置将位于流的末尾,不会将任何内容写入file。您需要在开头设置位置(即ms.Seek(0, SeekOrigin.Begin)或使用ms.WriteTo()代替.

)。

使用该方法,graphics()方法将如下所示:

代码语言:javascript
复制
Public Async Function grabpic() As Task
    Using ms As New IO.MemoryStream()
        Await WebView22.CoreWebView2.CapturePreviewAsync(
            CoreWebView2CapturePreviewImageFormat.Jpeg, ms)
        Using file As New IO.FileStream("C:\temp\test.jpg", IO.FileMode.Create)
            ms.Seek(0, IO.SeekOrigin.Begin)
            ms.CopyTo(file)
        End Using
    End Using
End Function

,但是,在这种情况下,您并不真正需要一个MemoryStream。您可以直接写信给FileStream。最后的代码应该是这样的:

代码语言:javascript
复制
Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Await grabpic()
End Sub

Public Async Function grabpic() As Task
    Using file As New IO.FileStream("C:\temp\test.jpg", IO.FileMode.Create)
        Await WebView22.CoreWebView2.CapturePreviewAsync(
            CoreWebView2CapturePreviewImageFormat.Jpeg, file)
    End Using
End Function
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70718632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档