Visual Basic - Capturar imagen

Life is soft - evento anual de software empresarial
 
Vista:

Capturar imagen

Publicado por Franco (3 intervenciones) el 01/08/2005 16:39:03
Buenas tengo una aplicación que no termino de completar. Es un capturador de imagenes y las opciones que tiene son:

- Capturar pantalla Captura1.Area = Pantalla

- Capturar ventana Captura1.Area = Ventana

- Capturar Area rectangular ¿? (Hacer la foto de lo que marque el puntero)

La aplicación trabaja en el area de notificación y capturar pantalla completa funciona bien, capurar ventana me sale en blanco y la ultima no se como hacerla.

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Capturar imagen

Publicado por Franco (3 intervenciones) el 02/08/2005 09:00:33
Echarme un cable
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Capturar imagen

Publicado por AFleming (52 intervenciones) el 02/08/2005 15:41:19
la funcion q yo utilizo para copiar la pantalla y la ventana activa es esta...

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)

keybd_event 44, 1, 0&, 0& 'copia pantalla completa
keybd_event 44, 0, 0&, 0& 'copia ventana activa

y para copiar el contenido del portapapeles a un picturebox...

Picture1.Picture = Clipboard.GetData(8)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Capturar imagen

Publicado por Franco (3 intervenciones) el 02/08/2005 20:50:13
Gracias AFleming, pero estoy utilizando estas funciones.
El programa esta en el area de notificación cuando picas se habre el desplegable con las opciones:

Captura Pantalla
Captura Ventana
Captura Area
Salir

Dejo el codigo del Form, el modulo.bas solo esta relacionado con poner el icono en el area de notificación por eso no lo pongo.

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim Sys As Long
Sys = x / Screen.TwipsPerPixelX
Select Case Sys
Case WM_LBUTTONDOWN:
Me.PopupMenu mnuMenu
End Select
End Sub

Private Sub Form_Resize()
If WindowState = vbMinimized Then
Me.Hide
Me.Refresh
With nid
.cbSize = Len(nid)
.hwnd = Me.hwnd
.uId = vbNull
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.uCallBackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon
.szTip = Me.Caption & vbNullChar
End With
Shell_NotifyIcon NIM_ADD, nid
Else
Shell_NotifyIcon NIM_DELETE, nid
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Shell_NotifyIcon NIM_DELETE, nid
End
End Sub
Private Sub mnuCapPantalla_Click()
Captura1.Area = Pantalla ' Captura toda la pantalla
Captura1.Captura
Imagen.Picture = Captura1.Imagen ' Captura la imagen
SavePicture Imagen.Picture, "nombre.bmp" ' Guarda la imagen en el archivo
End Sub
Private Sub mnuCapVentana_Click()
Captura1.Area = Ventana ' Captura la ventana activa
Captura1.Captura
Imagen.Picture = Captura1.Imagen ' Captura la imagen
SavePicture Imagen.Picture, "nombre.bmp" ' Guarda la imagen en el archivo
End Sub
Private Sub mnuCapArea_Click()
MsgBox "No disponible", vbInformation, "Capturadora de imagenes"
End Sub
Private Sub mnuSalir_Click()
Unload Me
End Sub

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar