2015-10-02 2 views
0

Так как название говорит, как я могу делать скриншоты в vb.net, WPF, нормальный код vb.net для скриншотеКак сделать скриншоты в vb.net, WPF?

Dim bounds As Rectangle 
Dim screenshot As System.Drawing.Bitmap 
Dim graph As Graphics 
bounds = Screen.PrimaryScreen.Bounds 
screenshot = New System.Drawing.Bitmap(bounds.Width, bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppRgb) 
graph = Graphics.FromImage(screenshot) 
graph.CopyFromScreen(0, 0, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy) 
screenshot.Save("d:\\dcap.jpg", Imaging.ImageFormat.Bmp) 

не работает, потому что я не могу определить «Графика» в WPF, я тоже не могу определить растровое изображение чертежа, например, я обычно делаю в vb.net

так, что я могу сделать?

ответ

1

Вам необходимо добавить ссылку и Imports директива к System.Drawing.

+0

Хорошо (у) !!!, он работал, спасибо вам Также пришлось заменить bounts с "SystemParameters.VirtualScreen" –

0

Я отказался от захвата экрана «автоматически» (например, из необработанных исключений) - слишком непоследовательным.

Раньше я использовал захват экрана для пользователей, чтобы использовать для записи формы, с которой они столкнулись (код в обработчике исключений ниже.) Теперь я запускаю SnippingTool - хорошо, чтобы пользователи знали, как использовать этот инструмент. путь.

Friend Sub PrintScrn(ByVal ffrm As System.Windows.Forms.Form) 
    Try 
     If Not Environment.Is64BitProcess Then 
      Process.Start("C:\Windows\sysnative\SnippingTool.exe") 
     Else 
      Process.Start("C:\Windows\system32\SnippingTool.exe") 
     End If 
    Catch ex As Exception 
     If vbOK = MsgBox("Replace clipboard contents with an image of the form?", MsgBoxStyle.DefaultButton2 + MsgBoxStyle.OkCancel) Then 
      Dim wid As Integer = ffrm.Width 
      Dim hgt As Integer = ffrm.Height 
      Dim bm As New Bitmap(wid, hgt) 
      ' Draw the form onto a bitmap. 
      ffrm.DrawToBitmap(bm, New Rectangle(0, 0, wid, hgt)) 
      My.Computer.Clipboard.SetImage(bm) 
      MsgBox("Form image now on clipboard. Use Ctrl-V to paste into Word, Notes, Paint, etc.") 
     End If 
    End Try 
End Sub 

Контекст: Vb.Net WinForm

Смежные вопросы