Visual Basic - Quitar fondo a una imagen

Life is soft - evento anual de software empresarial
 
Vista:

Quitar fondo a una imagen

Publicado por ana (12 intervenciones) el 17/07/2006 19:46:26
saludos!!
Necesito quitar el fondo a una imagen...la imagen la tengo en un boton en su propiedad picture...estoy usando el api TransparentBlt ...pero solo he encontrado ejemplos usando dos picture box....como le hago para que sea puesto en un picture box sin el fondo pero la imagen la tengo en un boton...
Si alguien me pudiera ayduar....gracias es URGENTE!!!
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:Quitar fondo a una imagen

Publicado por Jamec (231 intervenciones) el 17/07/2006 21:02:27
No entendi bien lo que dices, si lo quieres poner la imagen en un boton o en pictureBox
Has probado teniendo la imagen en formato Gif, con trasparencia y la colocas en un Image. Esto te puede funcionar.

Para que usar solo un picturebox prueba esto:
TransparentBlt Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, color.

Suerte
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:Quitar fondo a una imagen

Publicado por ana (12 intervenciones) el 17/07/2006 22:06:30
hola!!
Tengo en un frame varios botones los cuales contienen una imagen...al dar clic en ellos y colocarlos en un picture se colocan con un fondo blanco....como quitarle ese fondo cada vez que elija cualquiera de mis botones?????
gracias es urgente
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:Quitar fondo a una imagen

Publicado por Javi RM (187 intervenciones) el 18/07/2006 09:36:37
Buenas,
prueba con lo siguiente:

Para poner un ejemplo, imaginamos que tenemos en un formulario un boton llamado "command1" y dos pictureBox "Picture1" y "Picture2". Especifiquemos la funcionalidad de cada uno:
Command1 -> Botón con imagen.
Picture1 -> Receptor de imagen con fondo blanco
Picture2 -> Receptor de imagen con fondo transparente (Es necesario el Picture1)

Ahora pon una imagen en Command1 y prueba con esto (Copialo en el form):

' Llamada a la API
Private Declare Function GdiTransparentBlt Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal crTransparent As Long) As Boolean

' Evento click del botón
Private Sub Command1_Click()
Picture1.Visible = True ' Esta línea no la quites
Picture1.ScaleMode = vbPixels
Picture2.ScaleMode = vbPixels

' Copiamos la imagen del botón al pictureBox1 que hace de repositorio
Me.Picture1.Picture = Me.Command1.Picture

' Copiamos la imagen del picture1 al picture2 indicandole que el blanco actuará como máscara de color transparente
DoEvents
GdiTransparentBlt Picture2.hdc, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, vbWhite
Picture1.Visible = False ' Esta línea no la quites
End Sub

Un saludo y espero que te sirva
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:Quitar fondo a una imagen

Publicado por ana (12 intervenciones) el 20/07/2006 00:30:08
hola!"
una duda mas...
como hago para seleccionar con el mouse una imagen y al pulsar suprimir esta imagen q esta sobre un picture se borre....alguna idea???? es urgente gracias
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