Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Seleccionar un área de una imagen

Estas en el tema de Seleccionar un área de una imagen en el foro de Visual Basic clásico en Foros del Web. Hola, necesito que el usuario pueda seleccionar el área de una imagen que está en una Picture. Hice con el método Line, el tema es ...
  #1 (permalink)  
Antiguo 08/01/2007, 16:16
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 1 mes
Puntos: 3
Seleccionar un área de una imagen

Hola, necesito que el usuario pueda seleccionar el área de una imagen que está en una Picture.

Hice con el método Line, el tema es que me dibuja varios rectángulos mientras se mueve el ratón presionado sobre la imagen. Quiero que sea uno sólo el rectángulo (cómo cualquier programa de edición de fotos).

Si cargo la imagen con la propiedad Picture y utilizando el método Cls anda al pelo. Pero no me sirve de esta manera ya que las imagen es grande y la obligo a que se vea toda dentro con el método PaintPicture y es ahí cuando se me presenta el problema.

Si colocan un Picture1 y una imagen en la misma carpeta del proyecto podrán ver lo que hice:

Código:
Option Explicit

Dim Marcar As Boolean
Dim InicioY As Single, InicioX As Single
Dim imagen As IPictureDisp

Private Sub Form_Load()
 Picture1.AutoRedraw = True
 Set imagen = LoadPicture(App.Path + "\Imagen.jpg")
 Picture1.PaintPicture imagen, 0, 0, 1600, 1800
End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
 Marcar = True
 InicioX = X
 InicioY = Y
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
 If Marcar Then
  'Picture1.Cls
  Picture1.Line (InicioX, InicioY)-Step(X - InicioX, Y - InicioY), vbRed, B
 End If
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
 Marcar = False
End Sub
Gracias desde ya por las respuestas.
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:48.