【问题标题】:vb.net - Save screenshot with reduced resolution and image qualityvb.net - 以降低的分辨率和图像质量保存屏幕截图
【发布时间】:2022-01-06 07:35:25
【问题描述】:

我正在使用此代码在生产机器上截取屏幕截图并将其保存到文件夹中。每个文件大小约为 400 kb,我并不需要好的分辨率和质量。如何将分辨率减半并降低 jpg 质量以节省空间?

Private Sub TakeScreenShot()

    Dim screenSize As Size = New Size(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
    Dim screenGrab As New Bitmap(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
    Dim g As Graphics = Graphics.FromImage(screenGrab)
    g.CopyFromScreen(New Point(0, 0), New Point(0, 0), screenSize)

    screenGrab.Save("screenshots\test.jpg", Imaging.ImageFormat.Jpeg)

End Sub

【问题讨论】:

标签: vb.net save screenshot


【解决方案1】:

跟随this MSDN article,你可以像这样设置50%的质量

Private Sub TakeScreenShot()
    Dim screenSize As Size = New Size(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
    Dim screenGrab As New Bitmap(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
    Dim g As Graphics = Graphics.FromImage(screenGrab)
    g.CopyFromScreen(New Point(0, 0), New Point(0, 0), screenSize)
    Dim jpgEncoder As System.Drawing.Imaging.ImageCodecInfo = GetEncoder(System.Drawing.Imaging.ImageFormat.Jpeg)
    Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality
    Dim myEncoderParameters As New Imaging.EncoderParameters(1)
    Dim myEncoderParameter As New System.Drawing.Imaging.EncoderParameter(myEncoder, 50&)
    myEncoderParameters.Param(0) = myEncoderParameter
    screenGrab.Save("screenshots\test.jpg", jpgEncoder, myEncoderParameters)
End Sub
Public Function GetEncoder(ByVal format As ImageFormat) As ImageCodecInfo
    Dim codecs As ImageCodecInfo() = ImageCodecInfo.GetImageDecoders()
    Dim codec As ImageCodecInfo
    For Each codec In codecs
        If codec.FormatID = format.Guid Then
            Return codec
        End If
    Next codec
    Return Nothing
End Function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-31
    • 2013-02-26
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多