2014-11-29 2 views
1

Windows 바탕 화면의 스크린 샷을 찍을 수있는 작은 응용 프로그램을 만들려고합니다. 지금 내가 꽤 고전이 코드를 가지고 :VB에서 높은 DPI 스크린 샷 .NET

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를 수정하여 더 높은 해상도의 스크린 샷을 얻을 수 있을까? 아니면 비트 맵의 ​​초기 크기를 늘려서 어떻게 될까? 나는 당신은 할 수 없습니다

미리

+3

누군가 스크린 샷의 품질을 높이려면 어떻게해야합니까? 화면에 표시된 대로만 가져올 수 있습니다. 현재 품질에 어떤 문제가 있습니까? –

+0

나는 그 이유를 묻고있다! 그러나 나는 모든 것이 꽤 고해상도이거나 심지어 윈도우에서 꽤 벡터 적이기 때문에 생각해 보았습니다. (아마도 다시 한 번 가정합니다.) 그래서 더 정확할 수도 있습니다. 그러나 나는 어떻게 해야할지 모르겠습니다! –

+5

사람들은 반짝이는 스크류 헤드 중 하나에서 살인자의 모습을보기 위해 CCTV 이미지를 확대하는 곳의 영화를 덜 신뢰해야합니다. – GSerg

답변

3

에 주셔서 감사합니다 ... 모두 물어 있도록 모른다. 픽셀은 컴퓨터 그래픽과 비슷합니다.

더 이상 갈 수 없습니다.

(예, 실제 세계에서나 할리우드 영화에서 Leonardo DiCaprio로 할 수 있음을 알고 있지만, 원자는 가능한 가장 작은 단위라고 말하며, 이것은 물리학 교환이 아니며, 그곳에 계좌를 가지고 계십시오.)

+0

확인해 주셔서 감사합니다. 이제는 가능하지 않다는 확인을 받았습니다. 다시 한번 감사드립니다 :) –

+1

[우리는 더 깊이 가야합니다] (http://knowyourmeme.com/memes/we-need-to-go-deeper)! – Neolisk