elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  ayuda con programa vb.net
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con programa vb.net  (Leído 322 veces)
orlando_suarez

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ayuda con programa vb.net
« en: 7 Agosto 2019, 04:39 »

Comunidad, necesito ayuda con un programa, tengo una interfaz para tomar una foto y la guarda en un picture box, el detalle es que no encuentro algún código para mover la foto dentro de este pciture box, ya que es para una credencial y la foto original sale mas grande, algo como la función que tiene Facebook al cambiar una imagen y te permite mover la ubicación de la misma en un cierto espacio.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: ayuda con programa vb.net
« Respuesta #1 en: 8 Agosto 2019, 16:15 »

Bueno, con el siguiente ejemplo que he desarrollado ya deberías tener por donde continuarlo para satisfacer tus requisitos:



Código
  1. Public Class PictureBoxEx : Inherits PictureBox
  2.  
  3.    Protected isMoving As Boolean ' Flag that determine whether the image is moving.
  4.    Protected ptStart As Point    ' Point where image moving starts.
  5.    Protected ptMove As Point     ' Point where image moving is at.
  6.    Protected ptEnd As Point      ' Point where image moving ends.
  7.  
  8.    Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
  9.        If (e.Button = MouseButtons.Left) Then
  10.            Me.ptStart = New Point(e.X, e.Y)
  11.            Me.isMoving = True
  12.        End If
  13.  
  14.        MyBase.OnMouseDown(e)
  15.    End Sub
  16.  
  17.    Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
  18.        Me.Update()
  19.        Me.isMoving = False
  20.        Me.ptEnd = Me.ptMove
  21.  
  22.        MyBase.OnMouseUp(e)
  23.    End Sub
  24.  
  25.    Protected Overrides Sub OnMouseMove(e As MouseEventArgs)
  26.        If (Me.isMoving) AndAlso (Me.Image IsNot Nothing) Then
  27.            Me.ptMove = New Point(Me.ptEnd.X + (e.X - Me.ptStart.X), Me.ptEnd.Y + (e.Y - Me.ptStart.Y))
  28.            Me.Invalidate()
  29.        End If
  30.  
  31.        MyBase.OnMouseMove(e)
  32.    End Sub
  33.  
  34.    Protected Overrides Sub OnPaint(pe As PaintEventArgs)
  35.        If (Me.isMoving) AndAlso (Me.Image IsNot Nothing) Then
  36.            With pe.Graphics
  37.                .TranslateTransform(Me.ptMove.X, Me.ptMove.Y)
  38.                .DrawImage(Me.Image, Point.Empty)
  39.            End With
  40.        End If
  41.  
  42.        MyBase.OnPaint(pe)
  43.    End Sub
  44.  
  45. End Class

PD: nótese que para el ejemplo de arriba utilizo la imagen especificada en la propiedad PictureBox.Image, pero puedes hacer lo mismo con la imagen de la propiedad PictureBox.BackgroundImage.

Saludos.


« Última modificación: 8 Agosto 2019, 16:53 por Eleкtro » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines