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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  PictureBox VB.NET [Tranparencia Imagen]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PictureBox VB.NET [Tranparencia Imagen]  (Leído 15,986 veces)
MicroHack

Desconectado Desconectado

Mensajes: 36



Ver Perfil WWW
PictureBox VB.NET [Tranparencia Imagen]
« en: 10 Febrero 2011, 18:24 pm »

Actualmente tengo un control PictureBox dentro de un Form con una imagen (PNG).

El problema es que esa imagen tiene transparencia pero al cargarla en el picturebox el control rellena esa transparencia con un color solido gris y de esta forma me tapa ese fondo que tiene debajo el control.

He probado con imagenes GIF tambien, he modificado la propiedad Background Color en Transparent y Backround Image en "none" pero fail.

En principio no era una prioridad solucionarlo pero he llegado en la parte del proyecto donde me va hacer falta mas de un control picturebox y voy a hacer un copy&paste, asi que prefiero tenerlo resuelto antes que luego tener que modificar los 70 controles.

Alguien sabe como se hace?


EDIT: Acabo de descubrir esto:




Dice que la tranparencia de una imagen PNG dentro de Windows Form es "falsa" puesto que solo tiene en cuenta la capa de imagen del formulario, no de la imagen que tiene entremedia, por ejemplo la imagen que pone en el video como ejemplo donde se ve claramente que no es tomada en cuenta.

¿Alguna solucion a ello?


« Última modificación: 11 Febrero 2011, 03:28 am por MicroHack » En línea

Hola cariño, pasa por favor, y cierra la puerta al entrar. No quiero que se oigan los disparos fuera.
seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: PictureBox VB.NET [Tranparencia Imagen]
« Respuesta #1 en: 11 Febrero 2011, 03:59 am »

Hola, si es un pequeño problemita jeje, pero una de las soluciones que vi por ahi y funciono, es esta:

Código
  1.    Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  2.        MyBase.OnPaint(e)
  3.        For Each MyObject As PictureBox In Me.Controls.OfType(Of PictureBox)()
  4.            If Not IsNothing(MyObject.Image) And MyObject.Visible = True Then
  5.                e.Graphics.DrawImageUnscaled(New Bitmap(MyObject.Image), MyObject.Left, MyObject.Top)
  6.            End If
  7.        Next
  8.    End Sub

saludos.


En línea

sentinel13

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: PictureBox VB.NET [Tranparencia Imagen]
« Respuesta #2 en: 25 Mayo 2011, 02:07 am »

hola mira para hacer transparencias es muy facil y se hace asi

1. Le pones un color  a la propiedad backcolor del form digamos negro

2. Le pones el mismo color de la propiedad backcolor a la propiedad transparencykey

3. cargas un picturebox
4. le asignas la imagen en formato png que tu quieras, solo que ten cuidado con los colores ya que si los colores son  iguales o similares a la imagen estos tambien se haran invisible ya que la propiedad transparencykey es hacer invisibles todos los sectores que coinciden con el color seleccionado a hacer transparante.

5. listo ya esta....

NOTA:
Tambien podes omitir insertar un picturebox y cargarselo directamente al form en la propiedad: backgroundimage

cualquier duda escribeme al: deskpdesk4862@hotmail.com

por si no lo entendiste o tienes dudas, con gusto te explico, que ahorita ando corto de tiempo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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