VB .NET 中的高 DPI 屏幕截图



我正在尝试创建一个可以截取Windows桌面屏幕截图的小应用程序。现在我得到了这段非常经典的代码:

Private Function TakeScreenShot() As Bitmap
    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)
    screenGrab.SetResolution(2400, 2400)
    Dim g As Graphics = Graphics.FromImage(screenGrab)
    g.CompositingQuality = CompositingQuality.HighQuality
    g.InterpolationMode = InterpolationMode.HighQualityBicubic
    g.SmoothingMode = SmoothingMode.HighQuality
    g.CopyFromScreen(New Point(0, 0), New Point(0, 0), screenSize)
    Return screenGrab
End Function

但是我想有一个质量非常好的屏幕截图。我不知道这是否可能,所以我在问,但是我可以通过修改DPI(像我一样)或通过增加位图的初始大小来获得更高分辨率的屏幕截图吗?我完全不知道,所以我问...

提前谢谢你

你不能

那样做。像素类似于计算机图形学的原子。

你不能更深入。

(是的,我知道我们实际上可以在现实世界或一些好莱坞电影中与莱昂纳多·迪卡普里奥合作,但让我们说原子是最小的单位。这不是物理交换,由于某种原因,我在那里没有帐户;S)。

最新更新