gpt4 book ai didi

vb.net - 将表单另存为图像(截图)

转载 作者:行者123 更新时间:2023-12-03 18:35:59 25 4
gpt4 key购买 nike

我有2个表格。

  • 表格 1 包含我需要
  • 截图的内容
  • 表单 2 包含图形绘制(此表单始终在顶部但透明)。

  • 我需要对第一个表单进行屏幕截图,而不是将它放在表单 2 的顶部,也不包括表单 2 中的内容。

    这是我正在使用的一些内容,我正在尝试解决这些问题。
    Private Function TakeScreenShot(ByVal Control As Control) As Bitmap
    Dim Screenshot As New Bitmap(Control.Width, Control.Height)
    Control.DrawToBitmap(Screenshot, New Rectangle(0, 0, Control.Width, Control.Height))
    Return Screenshot
    End Function

    此函数不起作用,因为 Control.drawtoBitmap 未设置 IMG 的值。

    IMG 为空白并作为纯白色图像返回。

    这个函数的调用是这样的
    TakeScreenShot(form1.webbrowser1).Save("c:\Screenshot.png", 
    System.Drawing.Imaging.ImageFormat.Png)

    所有帮助将不胜感激。

    最佳答案

    用这个替换你的 TakeScreenShot 函数:

    Private Function TakeScreenShot(ByVal Control As Control) As Bitmap
    Dim tmpImg As New Bitmap(Control.Width, Control.Height)
    Using g As Graphics = Graphics.FromImage(tmpImg)
    g.CopyFromScreen(Control.PointToScreen(New Point(0, 0)), New Point(0, 0), New Size(Control.Width, Control.Height))
    End Using
    Return tmpImg
    End Function

    这应该可行,但是如果由于某种原因它不是问题,则问题可能是顶部的透明表单。
    您可以以完全相同的方式调用它。
    祝你好运 :)

    关于vb.net - 将表单另存为图像(截图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22676601/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com