• Miércoles 20 de Noviembre de 2024, 00:25

Autor Tema:  Imagenes Transparentes  (Leído 2425 veces)

CesarWeb

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Imagenes Transparentes
« en: Martes 13 de Julio de 2004, 18:46 »
0
Hola gentes
                me gustaria saber si alguien tiene idea como se hace para que el Vb te deje hacer una imagen que sea transparente y que si yo hago un  click en la imagen me deje ingresar a un formulario que se habre una nueva ventana ...


                                                  Gracias por todo, saludos. Cesar :hola:

inorc

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Imagenes Transparentes
« Respuesta #1 en: Lunes 17 de Octubre de 2005, 18:18 »
0
Hola, creo que antes de nada deberías comprobar que la imagen que utilizas tiene el fondo transparente y guardarla con formato que admita fondos transparentes como *.GIF. Y luego sólo insertalo en el picturebox. Yo lo he hecho y me funciona.
Suerte.

B)
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Imagenes Transparentes
« Respuesta #2 en: Lunes 17 de Octubre de 2005, 18:38 »
0
Hola, aqui tienes un codigo para tener las cuestiones transparentes en tus ventanas, cualquier objeto dentro de la ventana sera transparente igual que la ventana, no sé si es solo la imagen o la ventana completa, mira a ver como te sirve esto aqui te lo dejo.  Sino, haciendo una ventana a parte con un control Picture por ejemplo que abarque casi los bordes de la ventanita y la llamas para que cargue la imagen.

Código: Text
  1.  
  2. 'Codigo Interezante para forzar transparencia en un form de manera muy sencilla y con transparencia graduable
  3.  
  4. Private Declare Function GetWindowLong Lib "USER32" Alias "GetWindowLongA" _
  5. (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  6. Private Declare Function SetWindowLong Lib "USER32" Alias "SetWindowLongA" _
  7. (ByVal hWnd As Long, ByVal nIndex As Long, _
  8. ByVal dwNewLong As Long) As Long
  9. Private Const GWL_STYLE = (-16)
  10. Private Const GWL_EXSTYLE = (-20)
  11. 'Requires Windows 2000 or later:
  12. Private Const WS_EX_LAYERED = &H80000
  13.  
  14. Private Declare Function SetLayeredWindowAttributes Lib "USER32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
  15. Private Const LWA_COLORKEY = &H1
  16. Private Const LWA_ALPHA = &H2
  17.  
  18. Public Sub MakeWindowTransparent(ByVal hWnd As Long, ByVal alphaAmount As Byte)
  19. Dim lStyle As Long
  20. lStyle = GetWindowLong(hWnd, GWL_EXSTYLE)
  21. lStyle = lStyle Or WS_EX_LAYERED
  22. SetWindowLong hWnd, GWL_EXSTYLE, lStyle
  23. SetLayeredWindowAttributes hWnd, 0, alphaAmount, LWA_ALPHA
  24. End Sub
  25.  
  26. 'La transparencia es graduable modificando el alphaamount en este caso esta en 150 mientras menor es este valor mas transparente se torna
  27. Private Sub Form_Load()
  28. Call MakeWindowTransparent(Form1.hWnd, 150)
  29. End Sub
  30.  
  31.  

Saludos  :hola:
Si esto es Leído por accidente, induzca al vomito

patitofeo

  • Miembro MUY activo
  • ***
  • Mensajes: 145
    • Ver Perfil
Re: Imagenes Transparentes
« Respuesta #3 en: Miércoles 19 de Octubre de 2005, 12:52 »
0
¿Necesitas una imagen transparente o una imagen con fondo transparente?

Para imagenes transparentes--------> TRUQUITO

Create un picturebox e inserta una imagen, determina un color transparente y aplica la mascara.

La imagen que insertes debe tener un pixel del color de la mascara intercalado entre cada uno de la imagen.  No se si me entiendes.

Deberias retocar la imagen de modo que un pixel si y uno no (como en un ajedrez) sea del color de la mascara. Por supuesto pierdes bastante calidad pero es una forma facil de conseguir este efecto.

Espero que me hayan entendido.

Saludos y ya me contaran

Coneira

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Imagenes Transparentes
« Respuesta #4 en: Viernes 21 de Octubre de 2005, 00:30 »
0
Hola comparto lo que dijo inorc, puedes crear una imágen que tenga fondo transparente, si tienes una imágen con distinta extensión que *.gif, puedes usar visual studio.net para convertir cualquier imágen en gif, sólo tienes q poner el fondo de color blanco, luego guardarlo como gif (Ya sabes menu - Guardar como - Formato Gif),  ya de ahi lo puedes llevar  a un pictureBox o a un Image  ... Luego ya en su evento Click de cualquiera de los os objetos escribes el código:

Código: Text
  1.  
  2. ' Objeto Image
  3. Private Sub Image1_Click()
  4.  Form1.Show ' Utilizas el nombre del formulario que aparecerá seguida de .Show
  5. End Sub
  6.  

Código: Text
  1.  
  2. Objeto PictureBox
  3. Private Sub Picture1_Click()
  4.  Form1.Show
  5. End Sub
  6.  
  7.  
Espero que haya sido a eso a la que te referías  :blink:  ... y si no ...  :P ya p al menos eso del uso del Visual Studio.NET para hacer gifs  :rolleyes:  ... sólo seleccionas en nuevo archivo icono file y arrastrsa la imágen de cualquier formato .....
Bye bye  :whistling:

jodijo5

  • Miembro HIPER activo
  • ****
  • Mensajes: 518
  • Nacionalidad: pe
    • Ver Perfil
    • http://www.bluetecnologia.com
Re: Imagenes Transparentes
« Respuesta #5 en: Viernes 9 de Diciembre de 2005, 19:19 »
0
mas facil, mandalo a un cntrol imagelist, y le habilitas la propidad usemaskcolor a true, luego le pones el color que debe tomar como transparente en la propiedad maskcolor
=============================
Daniel Pomalaza Mendoza
visita el Dinosaurio Azul :-D
http://bluetecnologia.com